// Copyright (c) 2016, SolidCP
// SolidCP is distributed under the Creative Commons Share-alike license
// 
// SolidCP is a fork of WebsitePanel:
// Copyright (c) 2015, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must  retain  the  above copyright notice, this
//   list of conditions and the following disclaimer.
//
// - Redistributions in binary form  must  reproduce the  above  copyright  notice,
//   this list of conditions  and  the  following  disclaimer in  the documentation
//   and/or other materials provided with the distribution.
//
// - Neither  the  name  of  the  Outercurve Foundation  nor   the   names  of  its
//   contributors may be used to endorse or  promote  products  derived  from  this
//   software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,  BUT  NOT  LIMITED TO, THE IMPLIED
// WARRANTIES  OF  MERCHANTABILITY   AND  FITNESS  FOR  A  PARTICULAR  PURPOSE  ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL,  SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO,  PROCUREMENT  OF  SUBSTITUTE  GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  HOWEVER  CAUSED AND ON
// ANY  THEORY  OF  LIABILITY,  WHETHER  IN  CONTRACT,  STRICT  LIABILITY,  OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE)  ARISING  IN  ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:2.0.50727.3074
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

// 
// This source code was auto-generated by wsdl, Version=2.0.50727.42.
// 
namespace SolidCP.EnterpriseServer {

    using System.Xml.Serialization;
    using System.Web.Services;
    using System.ComponentModel;
    using System.Web.Services.Protocols;
    using System;
    using System.Diagnostics;
    using SolidCP.Providers;
    using SolidCP.Providers.Common;
    using SolidCP.Providers.Virtualization;
    using SolidCP.Providers.ResultObjects;    
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Web.Services.WebServiceBindingAttribute(Name = "esVirtualizationServerForPrivateCloudSoap", Namespace = "http://smbsaas/solidcp/enterpriseserver")]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ServiceProviderItem))]
    public partial class esVirtualizationServerForPrivateCloud : Microsoft.Web.Services3.WebServicesClientProtocol 
    {
        
        private System.Threading.SendOrPostCallback GetVirtualMachinesOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetVirtualMachinesByServiceIdOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetVirtualMachineItemOperationCompleted;
        
        private System.Threading.SendOrPostCallback EvaluateVirtualMachineTemplateOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetExternalNetworkDetailsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetPackagePrivateIPAddressesPagedOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetPackagePrivateIPAddressesOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetPrivateNetworkDetailsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetSpaceUserPermissionsOperationCompleted;
        
        private System.Threading.SendOrPostCallback UpdateSpaceUserPermissionsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetSpaceAuditLogOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetVirtualMachineAuditLogOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetOperatingSystemTemplatesPCOperationCompleted;

        private System.Threading.SendOrPostCallback GetHostsOperationCompleted;

        private System.Threading.SendOrPostCallback GetVMMClustersOperationCompleted;

        private System.Threading.SendOrPostCallback GetOperatingSystemTemplatesByServiceIdOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetMaximumCpuCoresNumberOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetDefaultExportPathOperationCompleted;
        
        private System.Threading.SendOrPostCallback CreateDefaultVirtualMachineOperationCompleted;
        
        private System.Threading.SendOrPostCallback CreateVirtualMachineOperationCompleted;

        private System.Threading.SendOrPostCallback CreateVMFromVMOperationCompleted;

        private System.Threading.SendOrPostCallback ImportVirtualMachineOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetVirtualMachineThumbnailOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetVirtualMachineGeneralDetailsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetVirtualMachineExtendedInfoOperationCompleted;
        
        private System.Threading.SendOrPostCallback CancelVirtualMachineJobOperationCompleted;
        
        private System.Threading.SendOrPostCallback UpdateVirtualMachineHostNameOperationCompleted;
        
        private System.Threading.SendOrPostCallback ChangeVirtualMachineStateOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetVirtualMachineJobsOperationCompleted;
        
        private System.Threading.SendOrPostCallback ChangeAdministratorPasswordOperationCompleted;
        
        private System.Threading.SendOrPostCallback UpdateVirtualMachineConfigurationOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetInsertedDvdDiskOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetLibraryDisksOperationCompleted;
        
        private System.Threading.SendOrPostCallback InsertDvdDiskOperationCompleted;
        
        private System.Threading.SendOrPostCallback EjectDvdDiskOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetVirtualMachineSnapshotsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetSnapshotOperationCompleted;
        
        private System.Threading.SendOrPostCallback CreateSnapshotOperationCompleted;

        private System.Threading.SendOrPostCallback ConfigureCreatedVMNetworkAdaptersOperationCompleted;
        
        private System.Threading.SendOrPostCallback ApplySnapshotOperationCompleted;
        
        private System.Threading.SendOrPostCallback RenameSnapshotOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteSnapshotOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteSnapshotSubtreeOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetSnapshotThumbnailOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetExternalNetworkAdapterDetailsOperationCompleted;
        
        private System.Threading.SendOrPostCallback AddVirtualMachineExternalIPAddressesOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetVirtualMachinePrimaryExternalIPAddressOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteVirtualMachineExternalIPAddressesOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetPrivateNetworkAdapterDetailsOperationCompleted;
        
        private System.Threading.SendOrPostCallback AddVirtualMachinePrivateIPAddressesOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetVirtualMachinePrimaryPrivateIPAddressOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteVirtualMachinePrivateIPAddressesOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetVirtualMachinePermissionsOperationCompleted;
        
        private System.Threading.SendOrPostCallback UpdateVirtualMachineUserPermissionsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetExternalSwitchesOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteVirtualMachineOperationCompleted;
        
        private System.Threading.SendOrPostCallback ReinstallVirtualMachineOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetVirtualMachineSummaryTextOperationCompleted;
        
        private System.Threading.SendOrPostCallback SendVirtualMachineSummaryLetterOperationCompleted;

        //Hyper-V Cloud
        private System.Threading.SendOrPostCallback CheckServerStateOperationCompleted;

        /// <remarks/>
        public esVirtualizationServerForPrivateCloud()
        {
            this.Url = "http://127.0.0.1:9002/esVirtualizationServerForPrivateCloud.asmx";
        }
        
        /// <remarks/>
        public event GetVirtualMachinesCompletedEventHandler GetVirtualMachinesCompleted;
        
        /// <remarks/>
        public event GetVirtualMachinesByServiceIdCompletedEventHandler GetVirtualMachinesByServiceIdCompleted;
        
        /// <remarks/>
        public event GetVirtualMachineItemCompletedEventHandler GetVirtualMachineItemCompleted;
        
        /// <remarks/>
        public event EvaluateVirtualMachineTemplateCompletedEventHandler EvaluateVirtualMachineTemplateCompleted;
        
        /// <remarks/>
        public event GetExternalNetworkDetailsCompletedEventHandler GetExternalNetworkDetailsCompleted;
        
        /// <remarks/>
        public event GetPackagePrivateIPAddressesPagedCompletedEventHandler GetPackagePrivateIPAddressesPagedCompleted;
        
        /// <remarks/>
        public event GetPackagePrivateIPAddressesCompletedEventHandler GetPackagePrivateIPAddressesCompleted;
        
        /// <remarks/>
        public event GetPrivateNetworkDetailsCompletedEventHandler GetPrivateNetworkDetailsCompleted;
        
        /// <remarks/>
        public event GetSpaceUserPermissionsCompletedEventHandler GetSpaceUserPermissionsCompleted;
        
        /// <remarks/>
        public event UpdateSpaceUserPermissionsCompletedEventHandler UpdateSpaceUserPermissionsCompleted;
        
        /// <remarks/>
        public event GetSpaceAuditLogCompletedEventHandler GetSpaceAuditLogCompleted;
        
        /// <remarks/>
        public event GetVirtualMachineAuditLogCompletedEventHandler GetVirtualMachineAuditLogCompleted;
        
        /// <remarks/>
        public event GetOperatingSystemTemplatesPCCompletedEventHandler GetOperatingSystemTemplatesPCCompleted;

        /// <remarks/>
        public event GetHostsCompletedEventHandler GetHostsCompleted;

        /// <remarks/>
        public event GetVMMClustersCompletedEventHandler GetClustersCompleted;

        /// <remarks/>
        public event GetOperatingSystemTemplatesByServiceIdCompletedEventHandler GetOperatingSystemTemplatesByServiceIdCompleted;
        
        /// <remarks/>
        public event GetMaximumCpuCoresNumberCompletedEventHandler GetMaximumCpuCoresNumberCompleted;
        
        /// <remarks/>
        public event GetDefaultExportPathCompletedEventHandler GetDefaultExportPathCompleted;
        
        /// <remarks/>
        public event CreateDefaultVirtualMachineCompletedEventHandler CreateDefaultVirtualMachineCompleted;
        
        /// <remarks/>
        public event CreateVirtualMachineCompletedEventHandler CreateVirtualMachineCompleted;
        
        /// <remarks/>
        public event CreateVMFromVMCompletedEventHandler CreateVMFromVMCompleted;
        
        /// <remarks/>
        public event ImportVirtualMachineCompletedEventHandler ImportVirtualMachineCompleted;
        
        /// <remarks/>
        public event GetVirtualMachineThumbnailCompletedEventHandler GetVirtualMachineThumbnailCompleted;
        
        /// <remarks/>
        public event GetVirtualMachineGeneralDetailsCompletedEventHandler GetVirtualMachineGeneralDetailsCompleted;
        
        /// <remarks/>
        public event GetVirtualMachineExtendedInfoCompletedEventHandler GetVirtualMachineExtendedInfoCompleted;
        
        /// <remarks/>
        public event CancelVirtualMachineJobCompletedEventHandler CancelVirtualMachineJobCompleted;
        
        /// <remarks/>
        public event UpdateVirtualMachineHostNameCompletedEventHandler UpdateVirtualMachineHostNameCompleted;
        
        /// <remarks/>
        public event ChangeVirtualMachineStateCompletedEventHandler ChangeVirtualMachineStateCompleted;
        
        /// <remarks/>
        public event GetVirtualMachineJobsCompletedEventHandler GetVirtualMachineJobsCompleted;
        
        /// <remarks/>
        public event ChangeAdministratorPasswordCompletedEventHandler ChangeAdministratorPasswordCompleted;
        
        /// <remarks/>
        public event UpdateVirtualMachineConfigurationCompletedEventHandler UpdateVirtualMachineConfigurationCompleted;
        
        /// <remarks/>
        public event GetInsertedDvdDiskCompletedEventHandler GetInsertedDvdDiskCompleted;
        
        /// <remarks/>
        public event GetLibraryDisksCompletedEventHandler GetLibraryDisksCompleted;
        
        /// <remarks/>
        public event InsertDvdDiskCompletedEventHandler InsertDvdDiskCompleted;
        
        /// <remarks/>
        public event EjectDvdDiskCompletedEventHandler EjectDvdDiskCompleted;
        
        /// <remarks/>
        public event GetVirtualMachineSnapshotsCompletedEventHandler GetVirtualMachineSnapshotsCompleted;
        
        /// <remarks/>
        public event GetSnapshotCompletedEventHandler GetSnapshotCompleted;
        
        /// <remarks/>
        public event CreateSnapshotCompletedEventHandler CreateSnapshotCompleted;
        
        /// <remarks/>
        public event ConfigureCreatedVMNetworkAdaptersCompletedEventHandler ConfigureCreatedVMNetworkAdaptersCompleted;

        /// <remarks/>
        public event ApplySnapshotCompletedEventHandler ApplySnapshotCompleted;
        
        /// <remarks/>
        public event RenameSnapshotCompletedEventHandler RenameSnapshotCompleted;
        
        /// <remarks/>
        public event DeleteSnapshotCompletedEventHandler DeleteSnapshotCompleted;
        
        /// <remarks/>
        public event DeleteSnapshotSubtreeCompletedEventHandler DeleteSnapshotSubtreeCompleted;
        
        /// <remarks/>
        public event GetSnapshotThumbnailCompletedEventHandler GetSnapshotThumbnailCompleted;
        
        /// <remarks/>
        public event GetExternalNetworkAdapterDetailsCompletedEventHandler GetExternalNetworkAdapterDetailsCompleted;
        
        /// <remarks/>
        public event AddVirtualMachineExternalIPAddressesCompletedEventHandler AddVirtualMachineExternalIPAddressesCompleted;
        
        /// <remarks/>
        public event SetVirtualMachinePrimaryExternalIPAddressCompletedEventHandler SetVirtualMachinePrimaryExternalIPAddressCompleted;
        
        /// <remarks/>
        public event DeleteVirtualMachineExternalIPAddressesCompletedEventHandler DeleteVirtualMachineExternalIPAddressesCompleted;
        
        /// <remarks/>
        public event GetPrivateNetworkAdapterDetailsCompletedEventHandler GetPrivateNetworkAdapterDetailsCompleted;
        
        /// <remarks/>
        public event AddVirtualMachinePrivateIPAddressesCompletedEventHandler AddVirtualMachinePrivateIPAddressesCompleted;
        
        /// <remarks/>
        public event SetVirtualMachinePrimaryPrivateIPAddressCompletedEventHandler SetVirtualMachinePrimaryPrivateIPAddressCompleted;
        
        /// <remarks/>
        public event DeleteVirtualMachinePrivateIPAddressesCompletedEventHandler DeleteVirtualMachinePrivateIPAddressesCompleted;
        
        /// <remarks/>
        public event GetVirtualMachinePermissionsCompletedEventHandler GetVirtualMachinePermissionsCompleted;
        
        /// <remarks/>
        public event UpdateVirtualMachineUserPermissionsCompletedEventHandler UpdateVirtualMachineUserPermissionsCompleted;
        
        /// <remarks/>
        public event GetExternalSwitchesCompletedEventHandler GetExternalSwitchesCompleted;
        
        /// <remarks/>
        public event DeleteVirtualMachineCompletedEventHandler DeleteVirtualMachineCompleted;
        
        /// <remarks/>
        public event ReinstallVirtualMachineCompletedEventHandler ReinstallVirtualMachineCompleted;
        
        /// <remarks/>
        public event GetVirtualMachineSummaryTextCompletedEventHandler GetVirtualMachineSummaryTextCompleted;
        
        /// <remarks/>
        public event SendVirtualMachineSummaryLetterCompletedEventHandler SendVirtualMachineSummaryLetterCompleted;

        //Hyper-v Couple
        /// <remarks/>
        public event CheckServerStateCompletedEventHandler CheckServerStateCompleted;


        //Hyper-V Cloud
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/CheckServerState", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public bool CheckServerState(VMForPCSettingsName control, string connString, string connName, int serviceId)
        {
//            return !String.IsNullOrWhiteSpace(connString);
            object[] results = this.Invoke("CheckServerState", new object[] { control, connString, connName, serviceId});

            return ((bool)(results[0]));
        }

        /// <remarks/>
        public System.IAsyncResult BeginCheckServerState(VMForPCSettingsName control, string connString, string connName, int serviceId, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("CheckServerState", new object[] {
                        control, connString, connName, serviceId}, callback, asyncState);
        }

        /// <remarks/>
        public bool EndCheckServerState(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((bool)(results[0]));
        }

        /// <remarks/>
        public void CheckServerStateAsync(VMForPCSettingsName control, string connString, string connName, int serviceId)
        {
            this.CheckServerStateAsync(control, connString, connName, serviceId, null);
        }

        /// <remarks/>
        public void CheckServerStateAsync(VMForPCSettingsName control, string connString, string connName, int serviceId, object userState)
        {
            if ((this.CheckServerStateOperationCompleted == null))
            {
                this.CheckServerStateOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCheckServerStateOperationCompleted);
            }
            this.InvokeAsync("CheckServerState", new object[] {
                        control, connString, connName, serviceId}, this.CheckServerStateOperationCompleted, userState);
        }

        private void OnCheckServerStateOperationCompleted(object arg)
        {
            if ((this.CheckServerStateCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CheckServerStateCompleted(this, new CheckServerStateCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        //EndHyper-v

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetVirtualMachines", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public VirtualMachineMetaItemsPaged GetVirtualMachines(int packageId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, bool recursive) {
            object[] results = this.Invoke("GetVirtualMachines", new object[] {
                        packageId,
                        filterColumn,
                        filterValue,
                        sortColumn,
                        startRow,
                        maximumRows,
                        recursive});
            return ((VirtualMachineMetaItemsPaged)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetVirtualMachines(int packageId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, bool recursive, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetVirtualMachines", new object[] {
                        packageId,
                        filterColumn,
                        filterValue,
                        sortColumn,
                        startRow,
                        maximumRows,
                        recursive}, callback, asyncState);
        }
        
        /// <remarks/>
        public VirtualMachineMetaItemsPaged EndGetVirtualMachines(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((VirtualMachineMetaItemsPaged)(results[0]));
        }
        
        /// <remarks/>
        public void GetVirtualMachinesAsync(int packageId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, bool recursive) {
            this.GetVirtualMachinesAsync(packageId, filterColumn, filterValue, sortColumn, startRow, maximumRows, recursive, null);
        }
        
        /// <remarks/>
        public void GetVirtualMachinesAsync(int packageId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, bool recursive, object userState) {
            if ((this.GetVirtualMachinesOperationCompleted == null)) {
                this.GetVirtualMachinesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetVirtualMachinesOperationCompleted);
            }
            this.InvokeAsync("GetVirtualMachines", new object[] {
                        packageId,
                        filterColumn,
                        filterValue,
                        sortColumn,
                        startRow,
                        maximumRows,
                        recursive}, this.GetVirtualMachinesOperationCompleted, userState);
        }
        
        private void OnGetVirtualMachinesOperationCompleted(object arg) {
            if ((this.GetVirtualMachinesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetVirtualMachinesCompleted(this, new GetVirtualMachinesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetVirtualMachinesByServiceId", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public VirtualMachine[] GetVirtualMachinesByServiceId(int serviceId) {
            object[] results = this.Invoke("GetVirtualMachinesByServiceId", new object[] {
                        serviceId});
            return ((VirtualMachine[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetVirtualMachinesByServiceId(int serviceId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetVirtualMachinesByServiceId", new object[] {
                        serviceId}, callback, asyncState);
        }
        
        /// <remarks/>
        public VirtualMachine[] EndGetVirtualMachinesByServiceId(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((VirtualMachine[])(results[0]));
        }
        
        /// <remarks/>
        public void GetVirtualMachinesByServiceIdAsync(int serviceId) {
            this.GetVirtualMachinesByServiceIdAsync(serviceId, null);
        }
        
        /// <remarks/>
        public void GetVirtualMachinesByServiceIdAsync(int serviceId, object userState) {
            if ((this.GetVirtualMachinesByServiceIdOperationCompleted == null)) {
                this.GetVirtualMachinesByServiceIdOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetVirtualMachinesByServiceIdOperationCompleted);
            }
            this.InvokeAsync("GetVirtualMachinesByServiceId", new object[] {
                        serviceId}, this.GetVirtualMachinesByServiceIdOperationCompleted, userState);
        }
        
        private void OnGetVirtualMachinesByServiceIdOperationCompleted(object arg) {
            if ((this.GetVirtualMachinesByServiceIdCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetVirtualMachinesByServiceIdCompleted(this, new GetVirtualMachinesByServiceIdCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetVirtualMachineItem", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public VMInfo GetVirtualMachineItem(int itemId) {
            object[] results = this.Invoke("GetVirtualMachineItem", new object[] {
                        itemId});
            return ((VMInfo)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetVirtualMachineItem(int itemId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetVirtualMachineItem", new object[] {
                        itemId}, callback, asyncState);
        }
        
        /// <remarks/>
        public VMInfo EndGetVirtualMachineItem(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((VMInfo)(results[0]));
        }
        
        /// <remarks/>
        public void GetVirtualMachineItemAsync(int itemId) {
            this.GetVirtualMachineItemAsync(itemId, null);
        }
        
        /// <remarks/>
        public void GetVirtualMachineItemAsync(int itemId, object userState) {
            if ((this.GetVirtualMachineItemOperationCompleted == null)) {
                this.GetVirtualMachineItemOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetVirtualMachineItemOperationCompleted);
            }
            this.InvokeAsync("GetVirtualMachineItem", new object[] {
                        itemId}, this.GetVirtualMachineItemOperationCompleted, userState);
        }
        
        private void OnGetVirtualMachineItemOperationCompleted(object arg) {
            if ((this.GetVirtualMachineItemCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetVirtualMachineItemCompleted(this, new GetVirtualMachineItemCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/EvaluateVirtualMachineTemplate", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string EvaluateVirtualMachineTemplate(int itemId, string template) {
            object[] results = this.Invoke("EvaluateVirtualMachineTemplate", new object[] {
                        itemId,
                        template});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginEvaluateVirtualMachineTemplate(int itemId, string template, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("EvaluateVirtualMachineTemplate", new object[] {
                        itemId,
                        template}, callback, asyncState);
        }
        
        /// <remarks/>
        public string EndEvaluateVirtualMachineTemplate(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void EvaluateVirtualMachineTemplateAsync(int itemId, string template) {
            this.EvaluateVirtualMachineTemplateAsync(itemId, template, null);
        }
        
        /// <remarks/>
        public void EvaluateVirtualMachineTemplateAsync(int itemId, string template, object userState) {
            if ((this.EvaluateVirtualMachineTemplateOperationCompleted == null)) {
                this.EvaluateVirtualMachineTemplateOperationCompleted = new System.Threading.SendOrPostCallback(this.OnEvaluateVirtualMachineTemplateOperationCompleted);
            }
            this.InvokeAsync("EvaluateVirtualMachineTemplate", new object[] {
                        itemId,
                        template}, this.EvaluateVirtualMachineTemplateOperationCompleted, userState);
        }
        
        private void OnEvaluateVirtualMachineTemplateOperationCompleted(object arg) {
            if ((this.EvaluateVirtualMachineTemplateCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.EvaluateVirtualMachineTemplateCompleted(this, new EvaluateVirtualMachineTemplateCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetExternalNetworkDetails", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public NetworkAdapterDetails GetExternalNetworkDetails(int packageId) {
            object[] results = this.Invoke("GetExternalNetworkDetails", new object[] {
                        packageId});
            return ((NetworkAdapterDetails)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetExternalNetworkDetails(int packageId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetExternalNetworkDetails", new object[] {
                        packageId}, callback, asyncState);
        }
        
        /// <remarks/>
        public NetworkAdapterDetails EndGetExternalNetworkDetails(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((NetworkAdapterDetails)(results[0]));
        }
        
        /// <remarks/>
        public void GetExternalNetworkDetailsAsync(int packageId) {
            this.GetExternalNetworkDetailsAsync(packageId, null);
        }
        
        /// <remarks/>
        public void GetExternalNetworkDetailsAsync(int packageId, object userState) {
            if ((this.GetExternalNetworkDetailsOperationCompleted == null)) {
                this.GetExternalNetworkDetailsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetExternalNetworkDetailsOperationCompleted);
            }
            this.InvokeAsync("GetExternalNetworkDetails", new object[] {
                        packageId}, this.GetExternalNetworkDetailsOperationCompleted, userState);
        }
        
        private void OnGetExternalNetworkDetailsOperationCompleted(object arg) {
            if ((this.GetExternalNetworkDetailsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetExternalNetworkDetailsCompleted(this, new GetExternalNetworkDetailsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetPackagePrivateIPAddressesPaged", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public PrivateIPAddressesPaged GetPackagePrivateIPAddressesPaged(int packageId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) {
            object[] results = this.Invoke("GetPackagePrivateIPAddressesPaged", new object[] {
                        packageId,
                        filterColumn,
                        filterValue,
                        sortColumn,
                        startRow,
                        maximumRows});
            return ((PrivateIPAddressesPaged)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetPackagePrivateIPAddressesPaged(int packageId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetPackagePrivateIPAddressesPaged", new object[] {
                        packageId,
                        filterColumn,
                        filterValue,
                        sortColumn,
                        startRow,
                        maximumRows}, callback, asyncState);
        }
        
        /// <remarks/>
        public PrivateIPAddressesPaged EndGetPackagePrivateIPAddressesPaged(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((PrivateIPAddressesPaged)(results[0]));
        }
        
        /// <remarks/>
        public void GetPackagePrivateIPAddressesPagedAsync(int packageId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) {
            this.GetPackagePrivateIPAddressesPagedAsync(packageId, filterColumn, filterValue, sortColumn, startRow, maximumRows, null);
        }
        
        /// <remarks/>
        public void GetPackagePrivateIPAddressesPagedAsync(int packageId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, object userState) {
            if ((this.GetPackagePrivateIPAddressesPagedOperationCompleted == null)) {
                this.GetPackagePrivateIPAddressesPagedOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPackagePrivateIPAddressesPagedOperationCompleted);
            }
            this.InvokeAsync("GetPackagePrivateIPAddressesPaged", new object[] {
                        packageId,
                        filterColumn,
                        filterValue,
                        sortColumn,
                        startRow,
                        maximumRows}, this.GetPackagePrivateIPAddressesPagedOperationCompleted, userState);
        }
        
        private void OnGetPackagePrivateIPAddressesPagedOperationCompleted(object arg) {
            if ((this.GetPackagePrivateIPAddressesPagedCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetPackagePrivateIPAddressesPagedCompleted(this, new GetPackagePrivateIPAddressesPagedCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetPackagePrivateIPAddresses", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public PrivateIPAddress[] GetPackagePrivateIPAddresses(int packageId) {
            object[] results = this.Invoke("GetPackagePrivateIPAddresses", new object[] {
                        packageId});
            return ((PrivateIPAddress[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetPackagePrivateIPAddresses(int packageId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetPackagePrivateIPAddresses", new object[] {
                        packageId}, callback, asyncState);
        }
        
        /// <remarks/>
        public PrivateIPAddress[] EndGetPackagePrivateIPAddresses(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((PrivateIPAddress[])(results[0]));
        }
        
        /// <remarks/>
        public void GetPackagePrivateIPAddressesAsync(int packageId) {
            this.GetPackagePrivateIPAddressesAsync(packageId, null);
        }
        
        /// <remarks/>
        public void GetPackagePrivateIPAddressesAsync(int packageId, object userState) {
            if ((this.GetPackagePrivateIPAddressesOperationCompleted == null)) {
                this.GetPackagePrivateIPAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPackagePrivateIPAddressesOperationCompleted);
            }
            this.InvokeAsync("GetPackagePrivateIPAddresses", new object[] {
                        packageId}, this.GetPackagePrivateIPAddressesOperationCompleted, userState);
        }
        
        private void OnGetPackagePrivateIPAddressesOperationCompleted(object arg) {
            if ((this.GetPackagePrivateIPAddressesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetPackagePrivateIPAddressesCompleted(this, new GetPackagePrivateIPAddressesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetPrivateNetworkDetails", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public NetworkAdapterDetails GetPrivateNetworkDetails(int packageId) {
            object[] results = this.Invoke("GetPrivateNetworkDetails", new object[] {
                        packageId});
            return ((NetworkAdapterDetails)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetPrivateNetworkDetails(int packageId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetPrivateNetworkDetails", new object[] {
                        packageId}, callback, asyncState);
        }
        
        /// <remarks/>
        public NetworkAdapterDetails EndGetPrivateNetworkDetails(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((NetworkAdapterDetails)(results[0]));
        }
        
        /// <remarks/>
        public void GetPrivateNetworkDetailsAsync(int packageId) {
            this.GetPrivateNetworkDetailsAsync(packageId, null);
        }
        
        /// <remarks/>
        public void GetPrivateNetworkDetailsAsync(int packageId, object userState) {
            if ((this.GetPrivateNetworkDetailsOperationCompleted == null)) {
                this.GetPrivateNetworkDetailsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPrivateNetworkDetailsOperationCompleted);
            }
            this.InvokeAsync("GetPrivateNetworkDetails", new object[] {
                        packageId}, this.GetPrivateNetworkDetailsOperationCompleted, userState);
        }
        
        private void OnGetPrivateNetworkDetailsOperationCompleted(object arg) {
            if ((this.GetPrivateNetworkDetailsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetPrivateNetworkDetailsCompleted(this, new GetPrivateNetworkDetailsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetSpaceUserPermissions", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public VirtualMachinePermission[] GetSpaceUserPermissions(int packageId) {
            object[] results = this.Invoke("GetSpaceUserPermissions", new object[] {
                        packageId});
            return ((VirtualMachinePermission[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetSpaceUserPermissions(int packageId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetSpaceUserPermissions", new object[] {
                        packageId}, callback, asyncState);
        }
        
        /// <remarks/>
        public VirtualMachinePermission[] EndGetSpaceUserPermissions(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((VirtualMachinePermission[])(results[0]));
        }
        
        /// <remarks/>
        public void GetSpaceUserPermissionsAsync(int packageId) {
            this.GetSpaceUserPermissionsAsync(packageId, null);
        }
        
        /// <remarks/>
        public void GetSpaceUserPermissionsAsync(int packageId, object userState) {
            if ((this.GetSpaceUserPermissionsOperationCompleted == null)) {
                this.GetSpaceUserPermissionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetSpaceUserPermissionsOperationCompleted);
            }
            this.InvokeAsync("GetSpaceUserPermissions", new object[] {
                        packageId}, this.GetSpaceUserPermissionsOperationCompleted, userState);
        }
        
        private void OnGetSpaceUserPermissionsOperationCompleted(object arg) {
            if ((this.GetSpaceUserPermissionsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetSpaceUserPermissionsCompleted(this, new GetSpaceUserPermissionsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/UpdateSpaceUserPermissions", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int UpdateSpaceUserPermissions(int packageId, VirtualMachinePermission[] permissions) {
            object[] results = this.Invoke("UpdateSpaceUserPermissions", new object[] {
                        packageId,
                        permissions});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginUpdateSpaceUserPermissions(int packageId, VirtualMachinePermission[] permissions, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("UpdateSpaceUserPermissions", new object[] {
                        packageId,
                        permissions}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndUpdateSpaceUserPermissions(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void UpdateSpaceUserPermissionsAsync(int packageId, VirtualMachinePermission[] permissions) {
            this.UpdateSpaceUserPermissionsAsync(packageId, permissions, null);
        }
        
        /// <remarks/>
        public void UpdateSpaceUserPermissionsAsync(int packageId, VirtualMachinePermission[] permissions, object userState) {
            if ((this.UpdateSpaceUserPermissionsOperationCompleted == null)) {
                this.UpdateSpaceUserPermissionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateSpaceUserPermissionsOperationCompleted);
            }
            this.InvokeAsync("UpdateSpaceUserPermissions", new object[] {
                        packageId,
                        permissions}, this.UpdateSpaceUserPermissionsOperationCompleted, userState);
        }
        
        private void OnUpdateSpaceUserPermissionsOperationCompleted(object arg) {
            if ((this.UpdateSpaceUserPermissionsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.UpdateSpaceUserPermissionsCompleted(this, new UpdateSpaceUserPermissionsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetSpaceAuditLog", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public LogRecord[] GetSpaceAuditLog(int packageId, System.DateTime startPeriod, System.DateTime endPeriod, int severity, string sortColumn, int startRow, int maximumRows) {
            object[] results = this.Invoke("GetSpaceAuditLog", new object[] {
                        packageId,
                        startPeriod,
                        endPeriod,
                        severity,
                        sortColumn,
                        startRow,
                        maximumRows});
            return ((LogRecord[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetSpaceAuditLog(int packageId, System.DateTime startPeriod, System.DateTime endPeriod, int severity, string sortColumn, int startRow, int maximumRows, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetSpaceAuditLog", new object[] {
                        packageId,
                        startPeriod,
                        endPeriod,
                        severity,
                        sortColumn,
                        startRow,
                        maximumRows}, callback, asyncState);
        }
        
        /// <remarks/>
        public LogRecord[] EndGetSpaceAuditLog(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((LogRecord[])(results[0]));
        }
        
        /// <remarks/>
        public void GetSpaceAuditLogAsync(int packageId, System.DateTime startPeriod, System.DateTime endPeriod, int severity, string sortColumn, int startRow, int maximumRows) {
            this.GetSpaceAuditLogAsync(packageId, startPeriod, endPeriod, severity, sortColumn, startRow, maximumRows, null);
        }
        
        /// <remarks/>
        public void GetSpaceAuditLogAsync(int packageId, System.DateTime startPeriod, System.DateTime endPeriod, int severity, string sortColumn, int startRow, int maximumRows, object userState) {
            if ((this.GetSpaceAuditLogOperationCompleted == null)) {
                this.GetSpaceAuditLogOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetSpaceAuditLogOperationCompleted);
            }
            this.InvokeAsync("GetSpaceAuditLog", new object[] {
                        packageId,
                        startPeriod,
                        endPeriod,
                        severity,
                        sortColumn,
                        startRow,
                        maximumRows}, this.GetSpaceAuditLogOperationCompleted, userState);
        }
        
        private void OnGetSpaceAuditLogOperationCompleted(object arg) {
            if ((this.GetSpaceAuditLogCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetSpaceAuditLogCompleted(this, new GetSpaceAuditLogCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetVirtualMachineAuditLog", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public LogRecord[] GetVirtualMachineAuditLog(int itemId, System.DateTime startPeriod, System.DateTime endPeriod, int severity, string sortColumn, int startRow, int maximumRows) {
            object[] results = this.Invoke("GetVirtualMachineAuditLog", new object[] {
                        itemId,
                        startPeriod,
                        endPeriod,
                        severity,
                        sortColumn,
                        startRow,
                        maximumRows});
            return ((LogRecord[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetVirtualMachineAuditLog(int itemId, System.DateTime startPeriod, System.DateTime endPeriod, int severity, string sortColumn, int startRow, int maximumRows, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetVirtualMachineAuditLog", new object[] {
                        itemId,
                        startPeriod,
                        endPeriod,
                        severity,
                        sortColumn,
                        startRow,
                        maximumRows}, callback, asyncState);
        }
        
        /// <remarks/>
        public LogRecord[] EndGetVirtualMachineAuditLog(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((LogRecord[])(results[0]));
        }
        
        /// <remarks/>
        public void GetVirtualMachineAuditLogAsync(int itemId, System.DateTime startPeriod, System.DateTime endPeriod, int severity, string sortColumn, int startRow, int maximumRows) {
            this.GetVirtualMachineAuditLogAsync(itemId, startPeriod, endPeriod, severity, sortColumn, startRow, maximumRows, null);
        }
        
        /// <remarks/>
        public void GetVirtualMachineAuditLogAsync(int itemId, System.DateTime startPeriod, System.DateTime endPeriod, int severity, string sortColumn, int startRow, int maximumRows, object userState) {
            if ((this.GetVirtualMachineAuditLogOperationCompleted == null)) {
                this.GetVirtualMachineAuditLogOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetVirtualMachineAuditLogOperationCompleted);
            }
            this.InvokeAsync("GetVirtualMachineAuditLog", new object[] {
                        itemId,
                        startPeriod,
                        endPeriod,
                        severity,
                        sortColumn,
                        startRow,
                        maximumRows}, this.GetVirtualMachineAuditLogOperationCompleted, userState);
        }
        
        private void OnGetVirtualMachineAuditLogOperationCompleted(object arg) {
            if ((this.GetVirtualMachineAuditLogCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetVirtualMachineAuditLogCompleted(this, new GetVirtualMachineAuditLogCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }


        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetClusters", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public LibraryItem[] GetClusters(int serviceId)
        {
            object[] results = this.Invoke("GetClusters", new object[] {
                        serviceId});
            return ((LibraryItem[])(results[0]));
        }

        /// <remarks/>
        public System.IAsyncResult BeginGetClusters(int serviceId, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("GetClusters", new object[] {
                        serviceId}, callback, asyncState);
        }

        /// <remarks/>
        public LibraryItem[] EndGetClusters(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((LibraryItem[])(results[0]));
        }

        /// <remarks/>
        public void GetClustersAsync(int serviceId)
        {
            this.GetClustersAsync(serviceId, null);
        }

        /// <remarks/>
        public void GetClustersAsync(int serviceId, object userState)
        {
            if ((this.GetVMMClustersOperationCompleted == null))
            {
                this.GetVMMClustersOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetClustersOperationCompleted);
            }
            this.InvokeAsync("GetClusters", new object[] {
                        serviceId}, this.GetVMMClustersOperationCompleted, userState);
        }

        private void OnGetClustersOperationCompleted(object arg)
        {
            if ((this.GetClustersCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetClustersCompleted(this, new GetVMMClustersCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetHosts", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public LibraryItem[] GetHosts(int serviceId)
        {
            object[] results = this.Invoke("GetHosts", new object[] {
                        serviceId});
            return ((LibraryItem[])(results[0]));
        }

        /// <remarks/>
        public System.IAsyncResult BeginGetHosts(int serviceId, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("GetHosts", new object[] {
                        serviceId}, callback, asyncState);
        }

        /// <remarks/>
        public LibraryItem[] EndGetHosts(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((LibraryItem[])(results[0]));
        }

        /// <remarks/>
        public void GetHostsAsync(int serviceId)
        {
            this.GetHostsAsync(serviceId, null);
        }

        /// <remarks/>
        public void GetHostsAsync(int serviceId, object userState)
        {
            if ((this.GetHostsOperationCompleted == null))
            {
                this.GetHostsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetHostsOperationCompleted);
            }
            this.InvokeAsync("GetHosts", new object[] {
                        serviceId}, this.GetHostsOperationCompleted, userState);
        }

        private void OnGetHostsOperationCompleted(object arg)
        {
            if ((this.GetHostsCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetHostsCompleted(this, new GetHostsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetOperatingSystemTemplatesPC", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public LibraryItem[] GetOperatingSystemTemplatesPC(int packageId) {
            object[] results = this.Invoke("GetOperatingSystemTemplatesPC", new object[] {
                        packageId});
            return ((LibraryItem[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetOperatingSystemTemplatesPC(int packageId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetOperatingSystemTemplatesPC", new object[] {
                        packageId}, callback, asyncState);
        }
        
        /// <remarks/>
        public LibraryItem[] EndGetOperatingSystemTemplatesPC(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((LibraryItem[])(results[0]));
        }
        
        /// <remarks/>
        public void GetOperatingSystemTemplatesPCAsync(int packageId) {
            this.GetOperatingSystemTemplatesPCAsync(packageId, null);
        }
        
        /// <remarks/>
        public void GetOperatingSystemTemplatesPCAsync(int packageId, object userState) {
            if ((this.GetOperatingSystemTemplatesPCOperationCompleted == null)) {
                this.GetOperatingSystemTemplatesPCOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetOperatingSystemTemplatesPCOperationCompleted);
            }
            this.InvokeAsync("GetOperatingSystemTemplatesPC", new object[] {
                        packageId}, this.GetOperatingSystemTemplatesPCOperationCompleted, userState);
        }
        
        private void OnGetOperatingSystemTemplatesPCOperationCompleted(object arg) {
            if ((this.GetOperatingSystemTemplatesPCCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetOperatingSystemTemplatesPCCompleted(this, new GetOperatingSystemTemplatesPCCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetOperatingSystemTemplatesByServi" +
            "ceId", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public LibraryItem[] GetOperatingSystemTemplatesByServiceId(int serviceId) {
            object[] results = this.Invoke("GetOperatingSystemTemplatesByServiceId", new object[] {
                        serviceId});
            return ((LibraryItem[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetOperatingSystemTemplatesByServiceId(int serviceId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetOperatingSystemTemplatesByServiceId", new object[] {
                        serviceId}, callback, asyncState);
        }
        
        /// <remarks/>
        public LibraryItem[] EndGetOperatingSystemTemplatesByServiceId(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((LibraryItem[])(results[0]));
        }
        
        /// <remarks/>
        public void GetOperatingSystemTemplatesByServiceIdAsync(int serviceId) {
            this.GetOperatingSystemTemplatesByServiceIdAsync(serviceId, null);
        }
        
        /// <remarks/>
        public void GetOperatingSystemTemplatesByServiceIdAsync(int serviceId, object userState) {
            if ((this.GetOperatingSystemTemplatesByServiceIdOperationCompleted == null)) {
                this.GetOperatingSystemTemplatesByServiceIdOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetOperatingSystemTemplatesByServiceIdOperationCompleted);
            }
            this.InvokeAsync("GetOperatingSystemTemplatesByServiceId", new object[] {
                        serviceId}, this.GetOperatingSystemTemplatesByServiceIdOperationCompleted, userState);
        }
        
        private void OnGetOperatingSystemTemplatesByServiceIdOperationCompleted(object arg) {
            if ((this.GetOperatingSystemTemplatesByServiceIdCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetOperatingSystemTemplatesByServiceIdCompleted(this, new GetOperatingSystemTemplatesByServiceIdCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetMaximumCpuCoresNumber", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int GetMaximumCpuCoresNumber(int packageId, string templateId)
        {
            object[] results = this.Invoke("GetMaximumCpuCoresNumber", new object[] {
                        packageId, templateId});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetMaximumCpuCoresNumber(int packageId, string templateId, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("GetMaximumCpuCoresNumber", new object[] {
                        packageId, templateId}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndGetMaximumCpuCoresNumber(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void GetMaximumCpuCoresNumberAsync(int packageId, string templateId)
        {
            this.GetMaximumCpuCoresNumberAsync(packageId, templateId, null);
        }
        
        /// <remarks/>
        public void GetMaximumCpuCoresNumberAsync(int packageId, string templateId, object userState) {
            if ((this.GetMaximumCpuCoresNumberOperationCompleted == null)) {
                this.GetMaximumCpuCoresNumberOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMaximumCpuCoresNumberOperationCompleted);
            }
            this.InvokeAsync("GetMaximumCpuCoresNumber", new object[] {
                        packageId, templateId}, this.GetMaximumCpuCoresNumberOperationCompleted, userState);
        }
        
        private void OnGetMaximumCpuCoresNumberOperationCompleted(object arg) {
            if ((this.GetMaximumCpuCoresNumberCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetMaximumCpuCoresNumberCompleted(this, new GetMaximumCpuCoresNumberCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetDefaultExportPath", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string GetDefaultExportPath(int itemId) {
            object[] results = this.Invoke("GetDefaultExportPath", new object[] {
                        itemId});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetDefaultExportPath(int itemId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetDefaultExportPath", new object[] {
                        itemId}, callback, asyncState);
        }
        
        /// <remarks/>
        public string EndGetDefaultExportPath(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void GetDefaultExportPathAsync(int itemId) {
            this.GetDefaultExportPathAsync(itemId, null);
        }
        
        /// <remarks/>
        public void GetDefaultExportPathAsync(int itemId, object userState) {
            if ((this.GetDefaultExportPathOperationCompleted == null)) {
                this.GetDefaultExportPathOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDefaultExportPathOperationCompleted);
            }
            this.InvokeAsync("GetDefaultExportPath", new object[] {
                        itemId}, this.GetDefaultExportPathOperationCompleted, userState);
        }
        
        private void OnGetDefaultExportPathOperationCompleted(object arg) {
            if ((this.GetDefaultExportPathCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetDefaultExportPathCompleted(this, new GetDefaultExportPathCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/CreateDefaultVirtualMachine", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public IntResult CreateDefaultVirtualMachine(int packageId, string hostname, string osTemplate, string password, string summaryLetterEmail) {
            object[] results = this.Invoke("CreateDefaultVirtualMachine", new object[] {
                        packageId,
                        hostname,
                        osTemplate,
                        password,
                        summaryLetterEmail});
            return ((IntResult)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCreateDefaultVirtualMachine(int packageId, string hostname, string osTemplate, string password, string summaryLetterEmail, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("CreateDefaultVirtualMachine", new object[] {
                        packageId,
                        hostname,
                        osTemplate,
                        password,
                        summaryLetterEmail}, callback, asyncState);
        }
        
        /// <remarks/>
        public IntResult EndCreateDefaultVirtualMachine(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((IntResult)(results[0]));
        }
        
        /// <remarks/>
        public void CreateDefaultVirtualMachineAsync(int packageId, string hostname, string osTemplate, string password, string summaryLetterEmail) {
            this.CreateDefaultVirtualMachineAsync(packageId, hostname, osTemplate, password, summaryLetterEmail, null);
        }
        
        /// <remarks/>
        public void CreateDefaultVirtualMachineAsync(int packageId, string hostname, string osTemplate, string password, string summaryLetterEmail, object userState) {
            if ((this.CreateDefaultVirtualMachineOperationCompleted == null)) {
                this.CreateDefaultVirtualMachineOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateDefaultVirtualMachineOperationCompleted);
            }
            this.InvokeAsync("CreateDefaultVirtualMachine", new object[] {
                        packageId,
                        hostname,
                        osTemplate,
                        password,
                        summaryLetterEmail}, this.CreateDefaultVirtualMachineOperationCompleted, userState);
        }
        
        private void OnCreateDefaultVirtualMachineOperationCompleted(object arg) {
            if ((this.CreateDefaultVirtualMachineCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateDefaultVirtualMachineCompleted(this, new CreateDefaultVirtualMachineCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }



        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/CreateVMFromVM", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ResultObject CreateVMFromVM(int packageId, VMInfo vmTemplate, string vmName){
            object[] results = this.Invoke("CreateVMFromVM", new object[] { packageId, vmTemplate, vmName });
            return ((ResultObject)(results[0]));
        }

        /// <remarks/>
        public System.IAsyncResult BeginCreateVMFromVM(int packageId, VMInfo vmTemplate, string vmName, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("CreateVMFromVM", new object[] { packageId, vmTemplate, vmName }, callback, asyncState);
        }

        public ResultObject EndCreateVMFromVM(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((ResultObject)(results[0]));
        }

        public void CreateCreateVMFromVMAsync(int packageId, VMInfo vmTemplate, string vmName)
        {
            this.CreateCreateVMFromVMAsyncAsync(packageId, vmTemplate, vmName, null);
        }

        public void CreateCreateVMFromVMAsyncAsync(int packageId, VMInfo vmTemplate, string vmName, object userState)
        {
            if ((this.CreateDefaultVirtualMachineOperationCompleted == null))
            {
                this.CreateDefaultVirtualMachineOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateVMFromVMOperationCompleted);
            }
            this.InvokeAsync("CreateVMFromVM", new object[] {
                        packageId,
                        vmTemplate,
                        vmName}, this.CreateVMFromVMOperationCompleted, userState);
        }

        private void OnCreateVMFromVMOperationCompleted(object arg)
        {
            if ((this.CreateVMFromVMCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateVMFromVMCompleted(this, new CreateVMFromVMCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }


        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/CreateVirtualMachine", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public IntResult CreateVirtualMachine(int packageId,
                string hostname, string domain, string osTemplateFile, string vmName, string password, string summaryLetterEmail,
                int cpuCores, int ramMB, int hddGB, int snapshots,
                bool dvdInstalled, bool bootFromCD, bool numLock,
                bool startShutdownAllowed, bool pauseResumeAllowed, bool rebootAllowed, bool resetAllowed, bool reinstallAllowed,
                bool externalNetworkEnabled, string externalNetworkLocation, string externalNicMacAddress, string externalVirtualNetwork,
                bool privateNetworkEnabled, string privateNetworkLocation, string privateNicMacAddress, string privateVirtualNetwork, ushort privateVLanID)
        {
            object[] results = this.Invoke("CreateVirtualMachine", new object[] {packageId,
                hostname, domain, osTemplateFile, vmName, password, summaryLetterEmail,
                cpuCores, ramMB, hddGB, snapshots,
                dvdInstalled, bootFromCD, numLock,
                startShutdownAllowed, pauseResumeAllowed, rebootAllowed, resetAllowed, reinstallAllowed,
                externalNetworkEnabled, externalNetworkLocation, externalNicMacAddress, externalVirtualNetwork,
                privateNetworkEnabled, privateNetworkLocation, privateNicMacAddress, privateVirtualNetwork, privateVLanID});
            return ((IntResult)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCreateVirtualMachine(
                    int packageId, 
                    string hostname, 
                    string domain,
                    string osTemplateFile, 
                    string vmName,
                    string password, 
                    string summaryLetterEmail, 
                    int cpuCores, 
                    int ramMB, 
                    int hddGB, 
                    int snapshots, 
                    bool dvdInstalled, 
                    bool bootFromCD, 
                    bool numLock, 
                    bool startShutdownAllowed, 
                    bool pauseResumeAllowed, 
                    bool rebootAllowed, 
                    bool resetAllowed, 
                    bool reinstallAllowed, 
                    bool externalNetworkEnabled, 
                    int externalAddressesNumber, 
                    bool randomExternalAddresses, 
                    int[] externalAddresses, 
                    bool privateNetworkEnabled, 
                    int privateAddressesNumber, 
                    bool randomPrivateAddresses, 
                    string[] privateAddresses, 
                    System.AsyncCallback callback, 
                    object asyncState) {
            return this.BeginInvoke("CreateVirtualMachine", new object[] {
                        packageId,
                        hostname,
                        domain,
                        osTemplateFile,
                        vmName,
                        password,
                        summaryLetterEmail,
                        cpuCores,
                        ramMB,
                        hddGB,
                        snapshots,
                        dvdInstalled,
                        bootFromCD,
                        numLock,
                        startShutdownAllowed,
                        pauseResumeAllowed,
                        rebootAllowed,
                        resetAllowed,
                        reinstallAllowed,
                        externalNetworkEnabled,
                        externalAddressesNumber,
                        randomExternalAddresses,
                        externalAddresses,
                        privateNetworkEnabled,
                        privateAddressesNumber,
                        randomPrivateAddresses,
                        privateAddresses}, callback, asyncState);
        }
        
        /// <remarks/>
        public IntResult EndCreateVirtualMachine(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((IntResult)(results[0]));
        }
        
        /// <remarks/>
        public void CreateVirtualMachineAsync(
                    int packageId, 
                    string hostname,
                    string domain, 
                    string osTemplateFile, 
                    string vmName,
                    string password, 
                    string summaryLetterEmail, 
                    int cpuCores, 
                    int ramMB, 
                    int hddGB, 
                    int snapshots, 
                    bool dvdInstalled, 
                    bool bootFromCD, 
                    bool numLock, 
                    bool startShutdownAllowed, 
                    bool pauseResumeAllowed, 
                    bool rebootAllowed, 
                    bool resetAllowed, 
                    bool reinstallAllowed, 
                    bool externalNetworkEnabled, 
                    int externalAddressesNumber, 
                    bool randomExternalAddresses, 
                    int[] externalAddresses, 
                    bool privateNetworkEnabled, 
                    int privateAddressesNumber, 
                    bool randomPrivateAddresses, 
                    string[] privateAddresses) {
                        this.CreateVirtualMachineAsync(packageId, hostname, domain, osTemplateFile, vmName, password, summaryLetterEmail, cpuCores, ramMB, hddGB, snapshots, dvdInstalled, bootFromCD, numLock, startShutdownAllowed, pauseResumeAllowed, rebootAllowed, resetAllowed, reinstallAllowed, externalNetworkEnabled, externalAddressesNumber, randomExternalAddresses, externalAddresses, privateNetworkEnabled, privateAddressesNumber, randomPrivateAddresses, privateAddresses, null);
        }
        
        /// <remarks/>
        public void CreateVirtualMachineAsync(
                    int packageId, 
                    string hostname, 
                    string domain,
                    string osTemplateFile,
                    string vmName,
                    string password, 
                    string summaryLetterEmail, 
                    int cpuCores, 
                    int ramMB, 
                    int hddGB, 
                    int snapshots, 
                    bool dvdInstalled, 
                    bool bootFromCD, 
                    bool numLock, 
                    bool startShutdownAllowed, 
                    bool pauseResumeAllowed, 
                    bool rebootAllowed, 
                    bool resetAllowed, 
                    bool reinstallAllowed, 
                    bool externalNetworkEnabled, 
                    int externalAddressesNumber, 
                    bool randomExternalAddresses, 
                    int[] externalAddresses, 
                    bool privateNetworkEnabled, 
                    int privateAddressesNumber, 
                    bool randomPrivateAddresses, 
                    string[] privateAddresses, 
                    object userState) {
            if ((this.CreateVirtualMachineOperationCompleted == null)) {
                this.CreateVirtualMachineOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateVirtualMachineOperationCompleted);
            }
            this.InvokeAsync("CreateVirtualMachine", new object[] {
                        packageId,
                        hostname,
                        domain, 
                        osTemplateFile,
                        vmName,
                        password,
                        summaryLetterEmail,
                        cpuCores,
                        ramMB,
                        hddGB,
                        snapshots,
                        dvdInstalled,
                        bootFromCD,
                        numLock,
                        startShutdownAllowed,
                        pauseResumeAllowed,
                        rebootAllowed,
                        resetAllowed,
                        reinstallAllowed,
                        externalNetworkEnabled,
                        externalAddressesNumber,
                        randomExternalAddresses,
                        externalAddresses,
                        privateNetworkEnabled,
                        privateAddressesNumber,
                        randomPrivateAddresses,
                        privateAddresses}, this.CreateVirtualMachineOperationCompleted, userState);
        }
        
        private void OnCreateVirtualMachineOperationCompleted(object arg) {
            if ((this.CreateVirtualMachineCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateVirtualMachineCompleted(this, new CreateVirtualMachineCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/ImportVirtualMachine", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public IntResult ImportVirtualMachine(int packageId, int serviceId, string vmId, string osTemplateFile, string adminPassword, bool startShutdownAllowed, bool pauseResumeAllowed, bool rebootAllowed, bool resetAllowed, bool reinstallAllowed, string externalNicMacAddress, int[] externalAddresses, string managementNicMacAddress, int managementAddress) {
            object[] results = this.Invoke("ImportVirtualMachine", new object[] {
                        packageId,
                        serviceId,
                        vmId,
                        osTemplateFile,
                        adminPassword,
                        startShutdownAllowed,
                        pauseResumeAllowed,
                        rebootAllowed,
                        resetAllowed,
                        reinstallAllowed,
                        externalNicMacAddress,
                        externalAddresses,
                        managementNicMacAddress,
                        managementAddress});
            return ((IntResult)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginImportVirtualMachine(
                    int packageId, 
                    int serviceId, 
                    string vmId, 
                    string osTemplateFile, 
                    string adminPassword, 
                    bool startShutdownAllowed, 
                    bool pauseResumeAllowed, 
                    bool rebootAllowed, 
                    bool resetAllowed, 
                    bool reinstallAllowed, 
                    string externalNicMacAddress, 
                    int[] externalAddresses, 
                    string managementNicMacAddress, 
                    int managementAddress, 
                    System.AsyncCallback callback, 
                    object asyncState) {
            return this.BeginInvoke("ImportVirtualMachine", new object[] {
                        packageId,
                        serviceId,
                        vmId,
                        osTemplateFile,
                        adminPassword,
                        startShutdownAllowed,
                        pauseResumeAllowed,
                        rebootAllowed,
                        resetAllowed,
                        reinstallAllowed,
                        externalNicMacAddress,
                        externalAddresses,
                        managementNicMacAddress,
                        managementAddress}, callback, asyncState);
        }
        
        /// <remarks/>
        public IntResult EndImportVirtualMachine(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((IntResult)(results[0]));
        }
        
        /// <remarks/>
        public void ImportVirtualMachineAsync(int packageId, int serviceId, string vmId, string osTemplateFile, string adminPassword, bool startShutdownAllowed, bool pauseResumeAllowed, bool rebootAllowed, bool resetAllowed, bool reinstallAllowed, string externalNicMacAddress, int[] externalAddresses, string managementNicMacAddress, int managementAddress) {
            this.ImportVirtualMachineAsync(packageId, serviceId, vmId, osTemplateFile, adminPassword, startShutdownAllowed, pauseResumeAllowed, rebootAllowed, resetAllowed, reinstallAllowed, externalNicMacAddress, externalAddresses, managementNicMacAddress, managementAddress, null);
        }
        
        /// <remarks/>
        public void ImportVirtualMachineAsync(int packageId, int serviceId, string vmId, string osTemplateFile, string adminPassword, bool startShutdownAllowed, bool pauseResumeAllowed, bool rebootAllowed, bool resetAllowed, bool reinstallAllowed, string externalNicMacAddress, int[] externalAddresses, string managementNicMacAddress, int managementAddress, object userState) {
            if ((this.ImportVirtualMachineOperationCompleted == null)) {
                this.ImportVirtualMachineOperationCompleted = new System.Threading.SendOrPostCallback(this.OnImportVirtualMachineOperationCompleted);
            }
            this.InvokeAsync("ImportVirtualMachine", new object[] {
                        packageId,
                        serviceId,
                        vmId,
                        osTemplateFile,
                        adminPassword,
                        startShutdownAllowed,
                        pauseResumeAllowed,
                        rebootAllowed,
                        resetAllowed,
                        reinstallAllowed,
                        externalNicMacAddress,
                        externalAddresses,
                        managementNicMacAddress,
                        managementAddress}, this.ImportVirtualMachineOperationCompleted, userState);
        }
        
        private void OnImportVirtualMachineOperationCompleted(object arg) {
            if ((this.ImportVirtualMachineCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ImportVirtualMachineCompleted(this, new ImportVirtualMachineCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetVirtualMachineThumbnail", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
        public byte[] GetVirtualMachineThumbnail(int itemId, ThumbnailSize size) {
            object[] results = this.Invoke("GetVirtualMachineThumbnail", new object[] {
                        itemId,
                        size});
            return ((byte[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetVirtualMachineThumbnail(int itemId, ThumbnailSize size, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetVirtualMachineThumbnail", new object[] {
                        itemId,
                        size}, callback, asyncState);
        }
        
        /// <remarks/>
        public byte[] EndGetVirtualMachineThumbnail(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((byte[])(results[0]));
        }
        
        /// <remarks/>
        public void GetVirtualMachineThumbnailAsync(int itemId, ThumbnailSize size) {
            this.GetVirtualMachineThumbnailAsync(itemId, size, null);
        }
        
        /// <remarks/>
        public void GetVirtualMachineThumbnailAsync(int itemId, ThumbnailSize size, object userState) {
            if ((this.GetVirtualMachineThumbnailOperationCompleted == null)) {
                this.GetVirtualMachineThumbnailOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetVirtualMachineThumbnailOperationCompleted);
            }
            this.InvokeAsync("GetVirtualMachineThumbnail", new object[] {
                        itemId,
                        size}, this.GetVirtualMachineThumbnailOperationCompleted, userState);
        }
        
        private void OnGetVirtualMachineThumbnailOperationCompleted(object arg) {
            if ((this.GetVirtualMachineThumbnailCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetVirtualMachineThumbnailCompleted(this, new GetVirtualMachineThumbnailCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetVirtualMachineGeneralDetails", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public VMInfo GetVirtualMachineGeneralDetails(int itemId) {
            object[] results = this.Invoke("GetVirtualMachineGeneralDetails", new object[] {
                        itemId});
            return ((VMInfo)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetVirtualMachineGeneralDetails(int itemId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetVirtualMachineGeneralDetails", new object[] {
                        itemId}, callback, asyncState);
        }
        
        /// <remarks/>
        public VMInfo EndGetVirtualMachineGeneralDetails(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((VMInfo)(results[0]));
        }
        
        /// <remarks/>
        public void GetVirtualMachineGeneralDetailsAsync(int itemId) {
            this.GetVirtualMachineGeneralDetailsAsync(itemId, null);
        }
        
        /// <remarks/>
        public void GetVirtualMachineGeneralDetailsAsync(int itemId, object userState) {
            if ((this.GetVirtualMachineGeneralDetailsOperationCompleted == null)) {
                this.GetVirtualMachineGeneralDetailsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetVirtualMachineGeneralDetailsOperationCompleted);
            }
            this.InvokeAsync("GetVirtualMachineGeneralDetails", new object[] {
                        itemId}, this.GetVirtualMachineGeneralDetailsOperationCompleted, userState);
        }
        
        private void OnGetVirtualMachineGeneralDetailsOperationCompleted(object arg) {
            if ((this.GetVirtualMachineGeneralDetailsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetVirtualMachineGeneralDetailsCompleted(this, new GetVirtualMachineGeneralDetailsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetVirtualMachineExtendedInfo", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public VirtualMachine GetVirtualMachineExtendedInfo(int serviceId, string vmId) {
            object[] results = this.Invoke("GetVirtualMachineExtendedInfo", new object[] {
                        serviceId,
                        vmId});
            return ((VirtualMachine)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetVirtualMachineExtendedInfo(int serviceId, string vmId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetVirtualMachineExtendedInfo", new object[] {
                        serviceId,
                        vmId}, callback, asyncState);
        }
        
        /// <remarks/>
        public VirtualMachine EndGetVirtualMachineExtendedInfo(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((VirtualMachine)(results[0]));
        }
        
        /// <remarks/>
        public void GetVirtualMachineExtendedInfoAsync(int serviceId, string vmId) {
            this.GetVirtualMachineExtendedInfoAsync(serviceId, vmId, null);
        }
        
        /// <remarks/>
        public void GetVirtualMachineExtendedInfoAsync(int serviceId, string vmId, object userState) {
            if ((this.GetVirtualMachineExtendedInfoOperationCompleted == null)) {
                this.GetVirtualMachineExtendedInfoOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetVirtualMachineExtendedInfoOperationCompleted);
            }
            this.InvokeAsync("GetVirtualMachineExtendedInfo", new object[] {
                        serviceId,
                        vmId}, this.GetVirtualMachineExtendedInfoOperationCompleted, userState);
        }
        
        private void OnGetVirtualMachineExtendedInfoOperationCompleted(object arg) {
            if ((this.GetVirtualMachineExtendedInfoCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetVirtualMachineExtendedInfoCompleted(this, new GetVirtualMachineExtendedInfoCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/CancelVirtualMachineJob", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int CancelVirtualMachineJob(string jobId) {
            object[] results = this.Invoke("CancelVirtualMachineJob", new object[] {
                        jobId});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCancelVirtualMachineJob(string jobId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("CancelVirtualMachineJob", new object[] {
                        jobId}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndCancelVirtualMachineJob(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void CancelVirtualMachineJobAsync(string jobId) {
            this.CancelVirtualMachineJobAsync(jobId, null);
        }
        
        /// <remarks/>
        public void CancelVirtualMachineJobAsync(string jobId, object userState) {
            if ((this.CancelVirtualMachineJobOperationCompleted == null)) {
                this.CancelVirtualMachineJobOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCancelVirtualMachineJobOperationCompleted);
            }
            this.InvokeAsync("CancelVirtualMachineJob", new object[] {
                        jobId}, this.CancelVirtualMachineJobOperationCompleted, userState);
        }
        
        private void OnCancelVirtualMachineJobOperationCompleted(object arg) {
            if ((this.CancelVirtualMachineJobCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CancelVirtualMachineJobCompleted(this, new CancelVirtualMachineJobCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/UpdateVirtualMachineHostName", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ResultObject UpdateVirtualMachineHostName(int itemId, string hostname, bool updateNetBIOS) {
            object[] results = this.Invoke("UpdateVirtualMachineHostName", new object[] {
                        itemId,
                        hostname,
                        updateNetBIOS});
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginUpdateVirtualMachineHostName(int itemId, string hostname, bool updateNetBIOS, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("UpdateVirtualMachineHostName", new object[] {
                        itemId,
                        hostname,
                        updateNetBIOS}, callback, asyncState);
        }
        
        /// <remarks/>
        public ResultObject EndUpdateVirtualMachineHostName(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public void UpdateVirtualMachineHostNameAsync(int itemId, string hostname, bool updateNetBIOS) {
            this.UpdateVirtualMachineHostNameAsync(itemId, hostname, updateNetBIOS, null);
        }
        
        /// <remarks/>
        public void UpdateVirtualMachineHostNameAsync(int itemId, string hostname, bool updateNetBIOS, object userState) {
            if ((this.UpdateVirtualMachineHostNameOperationCompleted == null)) {
                this.UpdateVirtualMachineHostNameOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateVirtualMachineHostNameOperationCompleted);
            }
            this.InvokeAsync("UpdateVirtualMachineHostName", new object[] {
                        itemId,
                        hostname,
                        updateNetBIOS}, this.UpdateVirtualMachineHostNameOperationCompleted, userState);
        }
        
        private void OnUpdateVirtualMachineHostNameOperationCompleted(object arg) {
            if ((this.UpdateVirtualMachineHostNameCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.UpdateVirtualMachineHostNameCompleted(this, new UpdateVirtualMachineHostNameCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/ChangeVirtualMachineState", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ResultObject ChangeVirtualMachineState(int itemId, VirtualMachineRequestedState state) {
            object[] results = this.Invoke("ChangeVirtualMachineState", new object[] {
                        itemId,
                        state});
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginChangeVirtualMachineState(int itemId, VirtualMachineRequestedState state, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("ChangeVirtualMachineState", new object[] {
                        itemId,
                        state}, callback, asyncState);
        }
        
        /// <remarks/>
        public ResultObject EndChangeVirtualMachineState(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public void ChangeVirtualMachineStateAsync(int itemId, VirtualMachineRequestedState state) {
            this.ChangeVirtualMachineStateAsync(itemId, state, null);
        }
        
        /// <remarks/>
        public void ChangeVirtualMachineStateAsync(int itemId, VirtualMachineRequestedState state, object userState) {
            if ((this.ChangeVirtualMachineStateOperationCompleted == null)) {
                this.ChangeVirtualMachineStateOperationCompleted = new System.Threading.SendOrPostCallback(this.OnChangeVirtualMachineStateOperationCompleted);
            }
            this.InvokeAsync("ChangeVirtualMachineState", new object[] {
                        itemId,
                        state}, this.ChangeVirtualMachineStateOperationCompleted, userState);
        }
        
        private void OnChangeVirtualMachineStateOperationCompleted(object arg) {
            if ((this.ChangeVirtualMachineStateCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ChangeVirtualMachineStateCompleted(this, new ChangeVirtualMachineStateCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetVirtualMachineJobs", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ConcreteJob[] GetVirtualMachineJobs(int itemId) {
            object[] results = this.Invoke("GetVirtualMachineJobs", new object[] {
                        itemId});
            return ((ConcreteJob[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetVirtualMachineJobs(int itemId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetVirtualMachineJobs", new object[] {
                        itemId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ConcreteJob[] EndGetVirtualMachineJobs(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ConcreteJob[])(results[0]));
        }
        
        /// <remarks/>
        public void GetVirtualMachineJobsAsync(int itemId) {
            this.GetVirtualMachineJobsAsync(itemId, null);
        }
        
        /// <remarks/>
        public void GetVirtualMachineJobsAsync(int itemId, object userState) {
            if ((this.GetVirtualMachineJobsOperationCompleted == null)) {
                this.GetVirtualMachineJobsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetVirtualMachineJobsOperationCompleted);
            }
            this.InvokeAsync("GetVirtualMachineJobs", new object[] {
                        itemId}, this.GetVirtualMachineJobsOperationCompleted, userState);
        }
        
        private void OnGetVirtualMachineJobsOperationCompleted(object arg) {
            if ((this.GetVirtualMachineJobsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetVirtualMachineJobsCompleted(this, new GetVirtualMachineJobsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/ChangeAdministratorPassword", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ResultObject ChangeAdministratorPassword(int itemId, string password) {
            object[] results = this.Invoke("ChangeAdministratorPassword", new object[] {
                        itemId,
                        password});
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginChangeAdministratorPassword(int itemId, string password, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("ChangeAdministratorPassword", new object[] {
                        itemId,
                        password}, callback, asyncState);
        }
        
        /// <remarks/>
        public ResultObject EndChangeAdministratorPassword(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public void ChangeAdministratorPasswordAsync(int itemId, string password) {
            this.ChangeAdministratorPasswordAsync(itemId, password, null);
        }
        
        /// <remarks/>
        public void ChangeAdministratorPasswordAsync(int itemId, string password, object userState) {
            if ((this.ChangeAdministratorPasswordOperationCompleted == null)) {
                this.ChangeAdministratorPasswordOperationCompleted = new System.Threading.SendOrPostCallback(this.OnChangeAdministratorPasswordOperationCompleted);
            }
            this.InvokeAsync("ChangeAdministratorPassword", new object[] {
                        itemId,
                        password}, this.ChangeAdministratorPasswordOperationCompleted, userState);
        }
        
        private void OnChangeAdministratorPasswordOperationCompleted(object arg) {
            if ((this.ChangeAdministratorPasswordCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ChangeAdministratorPasswordCompleted(this, new ChangeAdministratorPasswordCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/UpdateVirtualMachineConfiguration", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ResultObject UpdateVirtualMachineConfiguration(int itemId, int cpuCores, int ramMB, int hddGB, int snapshots, bool dvdInstalled, bool bootFromCD, bool numLock, bool startShutdownAllowed, bool pauseResumeAllowed, bool rebootAllowed, bool resetAllowed, bool reinstallAllowed, bool externalNetworkEnabled, bool privateNetworkEnabled) {
            object[] results = this.Invoke("UpdateVirtualMachineConfiguration", new object[] {
                        itemId,
                        cpuCores,
                        ramMB,
                        hddGB,
                        snapshots,
                        dvdInstalled,
                        bootFromCD,
                        numLock,
                        startShutdownAllowed,
                        pauseResumeAllowed,
                        rebootAllowed,
                        resetAllowed,
                        reinstallAllowed,
                        externalNetworkEnabled,
                        privateNetworkEnabled});
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginUpdateVirtualMachineConfiguration(
                    int itemId, 
                    int cpuCores, 
                    int ramMB, 
                    int hddGB, 
                    int snapshots, 
                    bool dvdInstalled, 
                    bool bootFromCD, 
                    bool numLock, 
                    bool startShutdownAllowed, 
                    bool pauseResumeAllowed, 
                    bool rebootAllowed, 
                    bool resetAllowed, 
                    bool reinstallAllowed, 
                    bool externalNetworkEnabled, 
                    bool privateNetworkEnabled, 
                    System.AsyncCallback callback, 
                    object asyncState) {
            return this.BeginInvoke("UpdateVirtualMachineConfiguration", new object[] {
                        itemId,
                        cpuCores,
                        ramMB,
                        hddGB,
                        snapshots,
                        dvdInstalled,
                        bootFromCD,
                        numLock,
                        startShutdownAllowed,
                        pauseResumeAllowed,
                        rebootAllowed,
                        resetAllowed,
                        reinstallAllowed,
                        externalNetworkEnabled,
                        privateNetworkEnabled}, callback, asyncState);
        }
        
        /// <remarks/>
        public ResultObject EndUpdateVirtualMachineConfiguration(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public void UpdateVirtualMachineConfigurationAsync(int itemId, int cpuCores, int ramMB, int hddGB, int snapshots, bool dvdInstalled, bool bootFromCD, bool numLock, bool startShutdownAllowed, bool pauseResumeAllowed, bool rebootAllowed, bool resetAllowed, bool reinstallAllowed, bool externalNetworkEnabled, bool privateNetworkEnabled) {
            this.UpdateVirtualMachineConfigurationAsync(itemId, cpuCores, ramMB, hddGB, snapshots, dvdInstalled, bootFromCD, numLock, startShutdownAllowed, pauseResumeAllowed, rebootAllowed, resetAllowed, reinstallAllowed, externalNetworkEnabled, privateNetworkEnabled, null);
        }
        
        /// <remarks/>
        public void UpdateVirtualMachineConfigurationAsync(
                    int itemId, 
                    int cpuCores, 
                    int ramMB, 
                    int hddGB, 
                    int snapshots, 
                    bool dvdInstalled, 
                    bool bootFromCD, 
                    bool numLock, 
                    bool startShutdownAllowed, 
                    bool pauseResumeAllowed, 
                    bool rebootAllowed, 
                    bool resetAllowed, 
                    bool reinstallAllowed, 
                    bool externalNetworkEnabled, 
                    bool privateNetworkEnabled, 
                    object userState) {
            if ((this.UpdateVirtualMachineConfigurationOperationCompleted == null)) {
                this.UpdateVirtualMachineConfigurationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateVirtualMachineConfigurationOperationCompleted);
            }
            this.InvokeAsync("UpdateVirtualMachineConfiguration", new object[] {
                        itemId,
                        cpuCores,
                        ramMB,
                        hddGB,
                        snapshots,
                        dvdInstalled,
                        bootFromCD,
                        numLock,
                        startShutdownAllowed,
                        pauseResumeAllowed,
                        rebootAllowed,
                        resetAllowed,
                        reinstallAllowed,
                        externalNetworkEnabled,
                        privateNetworkEnabled}, this.UpdateVirtualMachineConfigurationOperationCompleted, userState);
        }
        
        private void OnUpdateVirtualMachineConfigurationOperationCompleted(object arg) {
            if ((this.UpdateVirtualMachineConfigurationCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.UpdateVirtualMachineConfigurationCompleted(this, new UpdateVirtualMachineConfigurationCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetInsertedDvdDisk", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public LibraryItem GetInsertedDvdDisk(int itemId) {
            object[] results = this.Invoke("GetInsertedDvdDisk", new object[] {
                        itemId});
            return ((LibraryItem)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetInsertedDvdDisk(int itemId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetInsertedDvdDisk", new object[] {
                        itemId}, callback, asyncState);
        }
        
        /// <remarks/>
        public LibraryItem EndGetInsertedDvdDisk(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((LibraryItem)(results[0]));
        }
        
        /// <remarks/>
        public void GetInsertedDvdDiskAsync(int itemId) {
            this.GetInsertedDvdDiskAsync(itemId, null);
        }
        
        /// <remarks/>
        public void GetInsertedDvdDiskAsync(int itemId, object userState) {
            if ((this.GetInsertedDvdDiskOperationCompleted == null)) {
                this.GetInsertedDvdDiskOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetInsertedDvdDiskOperationCompleted);
            }
            this.InvokeAsync("GetInsertedDvdDisk", new object[] {
                        itemId}, this.GetInsertedDvdDiskOperationCompleted, userState);
        }
        
        private void OnGetInsertedDvdDiskOperationCompleted(object arg) {
            if ((this.GetInsertedDvdDiskCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetInsertedDvdDiskCompleted(this, new GetInsertedDvdDiskCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetLibraryDisks", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public LibraryItem[] GetLibraryDisks(int itemId) {
            object[] results = this.Invoke("GetLibraryDisks", new object[] {
                        itemId});
            return ((LibraryItem[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetLibraryDisks(int itemId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetLibraryDisks", new object[] {
                        itemId}, callback, asyncState);
        }
        
        /// <remarks/>
        public LibraryItem[] EndGetLibraryDisks(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((LibraryItem[])(results[0]));
        }
        
        /// <remarks/>
        public void GetLibraryDisksAsync(int itemId) {
            this.GetLibraryDisksAsync(itemId, null);
        }
        
        /// <remarks/>
        public void GetLibraryDisksAsync(int itemId, object userState) {
            if ((this.GetLibraryDisksOperationCompleted == null)) {
                this.GetLibraryDisksOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLibraryDisksOperationCompleted);
            }
            this.InvokeAsync("GetLibraryDisks", new object[] {
                        itemId}, this.GetLibraryDisksOperationCompleted, userState);
        }
        
        private void OnGetLibraryDisksOperationCompleted(object arg) {
            if ((this.GetLibraryDisksCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetLibraryDisksCompleted(this, new GetLibraryDisksCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/InsertDvdDisk", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ResultObject InsertDvdDisk(int itemId, string isoPath) {
            object[] results = this.Invoke("InsertDvdDisk", new object[] {
                        itemId,
                        isoPath});
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginInsertDvdDisk(int itemId, string isoPath, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("InsertDvdDisk", new object[] {
                        itemId,
                        isoPath}, callback, asyncState);
        }
        
        /// <remarks/>
        public ResultObject EndInsertDvdDisk(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public void InsertDvdDiskAsync(int itemId, string isoPath) {
            this.InsertDvdDiskAsync(itemId, isoPath, null);
        }
        
        /// <remarks/>
        public void InsertDvdDiskAsync(int itemId, string isoPath, object userState) {
            if ((this.InsertDvdDiskOperationCompleted == null)) {
                this.InsertDvdDiskOperationCompleted = new System.Threading.SendOrPostCallback(this.OnInsertDvdDiskOperationCompleted);
            }
            this.InvokeAsync("InsertDvdDisk", new object[] {
                        itemId,
                        isoPath}, this.InsertDvdDiskOperationCompleted, userState);
        }
        
        private void OnInsertDvdDiskOperationCompleted(object arg) {
            if ((this.InsertDvdDiskCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.InsertDvdDiskCompleted(this, new InsertDvdDiskCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/EjectDvdDisk", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ResultObject EjectDvdDisk(int itemId) {
            object[] results = this.Invoke("EjectDvdDisk", new object[] {
                        itemId});
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginEjectDvdDisk(int itemId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("EjectDvdDisk", new object[] {
                        itemId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ResultObject EndEjectDvdDisk(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public void EjectDvdDiskAsync(int itemId) {
            this.EjectDvdDiskAsync(itemId, null);
        }
        
        /// <remarks/>
        public void EjectDvdDiskAsync(int itemId, object userState) {
            if ((this.EjectDvdDiskOperationCompleted == null)) {
                this.EjectDvdDiskOperationCompleted = new System.Threading.SendOrPostCallback(this.OnEjectDvdDiskOperationCompleted);
            }
            this.InvokeAsync("EjectDvdDisk", new object[] {
                        itemId}, this.EjectDvdDiskOperationCompleted, userState);
        }
        
        private void OnEjectDvdDiskOperationCompleted(object arg) {
            if ((this.EjectDvdDiskCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.EjectDvdDiskCompleted(this, new EjectDvdDiskCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetVirtualMachineSnapshots", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public VirtualMachineSnapshot[] GetVirtualMachineSnapshots(int itemId) {
            object[] results = this.Invoke("GetVirtualMachineSnapshots", new object[] {
                        itemId});
            return ((VirtualMachineSnapshot[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetVirtualMachineSnapshots(int itemId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetVirtualMachineSnapshots", new object[] {
                        itemId}, callback, asyncState);
        }
        
        /// <remarks/>
        public VirtualMachineSnapshot[] EndGetVirtualMachineSnapshots(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((VirtualMachineSnapshot[])(results[0]));
        }
        
        /// <remarks/>
        public void GetVirtualMachineSnapshotsAsync(int itemId) {
            this.GetVirtualMachineSnapshotsAsync(itemId, null);
        }
        
        /// <remarks/>
        public void GetVirtualMachineSnapshotsAsync(int itemId, object userState) {
            if ((this.GetVirtualMachineSnapshotsOperationCompleted == null)) {
                this.GetVirtualMachineSnapshotsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetVirtualMachineSnapshotsOperationCompleted);
            }
            this.InvokeAsync("GetVirtualMachineSnapshots", new object[] {
                        itemId}, this.GetVirtualMachineSnapshotsOperationCompleted, userState);
        }
        
        private void OnGetVirtualMachineSnapshotsOperationCompleted(object arg) {
            if ((this.GetVirtualMachineSnapshotsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetVirtualMachineSnapshotsCompleted(this, new GetVirtualMachineSnapshotsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetSnapshot", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public VirtualMachineSnapshot GetSnapshot(int itemId, string snaphostId) {
            object[] results = this.Invoke("GetSnapshot", new object[] {
                        itemId,
                        snaphostId});
            return ((VirtualMachineSnapshot)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetSnapshot(int itemId, string snaphostId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetSnapshot", new object[] {
                        itemId,
                        snaphostId}, callback, asyncState);
        }
        
        /// <remarks/>
        public VirtualMachineSnapshot EndGetSnapshot(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((VirtualMachineSnapshot)(results[0]));
        }
        
        /// <remarks/>
        public void GetSnapshotAsync(int itemId, string snaphostId) {
            this.GetSnapshotAsync(itemId, snaphostId, null);
        }
        
        /// <remarks/>
        public void GetSnapshotAsync(int itemId, string snaphostId, object userState) {
            if ((this.GetSnapshotOperationCompleted == null)) {
                this.GetSnapshotOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetSnapshotOperationCompleted);
            }
            this.InvokeAsync("GetSnapshot", new object[] {
                        itemId,
                        snaphostId}, this.GetSnapshotOperationCompleted, userState);
        }
        
        private void OnGetSnapshotOperationCompleted(object arg) {
            if ((this.GetSnapshotCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetSnapshotCompleted(this, new GetSnapshotCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/ConfigureCreatedVMNetworkAdapters", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void ConfigureCreatedVMNetworkAdapters(VMInfo vmInfo) {
            object[] results = this.Invoke("ConfigureCreatedVMNetworkAdapters", new object[] {
                        vmInfo});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginConfigureCreatedVMNetworkAdapters(VMInfo vmInfo, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("ConfigureCreatedVMNetworkAdapters", new object[] {
                        vmInfo}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndConfigureCreatedVMNetworkAdapters(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void ConfigureCreatedVMNetworkAdaptersAsync(VMInfo vmInfo) {
            this.ConfigureCreatedVMNetworkAdaptersAsync(vmInfo, null);
        }
        
        /// <remarks/>
        public void ConfigureCreatedVMNetworkAdaptersAsync(VMInfo vmInfo, object userState) {
            if ((this.ConfigureCreatedVMNetworkAdaptersOperationCompleted == null)) {
                this.ConfigureCreatedVMNetworkAdaptersOperationCompleted = new System.Threading.SendOrPostCallback(this.OnConfigureCreatedVMNetworkAdaptersOperationCompleted);
            }
            this.InvokeAsync("ConfigureCreatedVMNetworkAdapters", new object[] {
                        vmInfo}, this.CreateSnapshotOperationCompleted, userState);
        }
        
        private void OnConfigureCreatedVMNetworkAdaptersOperationCompleted(object arg) {
            if ((this.ConfigureCreatedVMNetworkAdaptersCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ConfigureCreatedVMNetworkAdaptersCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/CreateSnapshot", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ResultObject CreateSnapshot(int itemId) {
            object[] results = this.Invoke("CreateSnapshot", new object[] {
                        itemId});
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCreateSnapshot(int itemId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("CreateSnapshot", new object[] {
                        itemId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ResultObject EndCreateSnapshot(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public void CreateSnapshotAsync(int itemId) {
            this.CreateSnapshotAsync(itemId, null);
        }
        
        /// <remarks/>
        public void CreateSnapshotAsync(int itemId, object userState) {
            if ((this.CreateSnapshotOperationCompleted == null)) {
                this.CreateSnapshotOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateSnapshotOperationCompleted);
            }
            this.InvokeAsync("CreateSnapshot", new object[] {
                        itemId}, this.CreateSnapshotOperationCompleted, userState);
        }
        
        private void OnCreateSnapshotOperationCompleted(object arg) {
            if ((this.CreateSnapshotCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateSnapshotCompleted(this, new CreateSnapshotCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/ApplySnapshot", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ResultObject ApplySnapshot(int itemId, string snapshotId) {
            object[] results = this.Invoke("ApplySnapshot", new object[] {
                        itemId,
                        snapshotId});
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginApplySnapshot(int itemId, string snapshotId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("ApplySnapshot", new object[] {
                        itemId,
                        snapshotId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ResultObject EndApplySnapshot(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public void ApplySnapshotAsync(int itemId, string snapshotId) {
            this.ApplySnapshotAsync(itemId, snapshotId, null);
        }
        
        /// <remarks/>
        public void ApplySnapshotAsync(int itemId, string snapshotId, object userState) {
            if ((this.ApplySnapshotOperationCompleted == null)) {
                this.ApplySnapshotOperationCompleted = new System.Threading.SendOrPostCallback(this.OnApplySnapshotOperationCompleted);
            }
            this.InvokeAsync("ApplySnapshot", new object[] {
                        itemId,
                        snapshotId}, this.ApplySnapshotOperationCompleted, userState);
        }
        
        private void OnApplySnapshotOperationCompleted(object arg) {
            if ((this.ApplySnapshotCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ApplySnapshotCompleted(this, new ApplySnapshotCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/RenameSnapshot", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ResultObject RenameSnapshot(int itemId, string snapshotId, string newName) {
            object[] results = this.Invoke("RenameSnapshot", new object[] {
                        itemId,
                        snapshotId,
                        newName});
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginRenameSnapshot(int itemId, string snapshotId, string newName, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("RenameSnapshot", new object[] {
                        itemId,
                        snapshotId,
                        newName}, callback, asyncState);
        }
        
        /// <remarks/>
        public ResultObject EndRenameSnapshot(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public void RenameSnapshotAsync(int itemId, string snapshotId, string newName) {
            this.RenameSnapshotAsync(itemId, snapshotId, newName, null);
        }
        
        /// <remarks/>
        public void RenameSnapshotAsync(int itemId, string snapshotId, string newName, object userState) {
            if ((this.RenameSnapshotOperationCompleted == null)) {
                this.RenameSnapshotOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRenameSnapshotOperationCompleted);
            }
            this.InvokeAsync("RenameSnapshot", new object[] {
                        itemId,
                        snapshotId,
                        newName}, this.RenameSnapshotOperationCompleted, userState);
        }
        
        private void OnRenameSnapshotOperationCompleted(object arg) {
            if ((this.RenameSnapshotCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.RenameSnapshotCompleted(this, new RenameSnapshotCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/DeleteSnapshot", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ResultObject DeleteSnapshot(int itemId, string snapshotId) {
            object[] results = this.Invoke("DeleteSnapshot", new object[] {
                        itemId,
                        snapshotId});
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteSnapshot(int itemId, string snapshotId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteSnapshot", new object[] {
                        itemId,
                        snapshotId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ResultObject EndDeleteSnapshot(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public void DeleteSnapshotAsync(int itemId, string snapshotId) {
            this.DeleteSnapshotAsync(itemId, snapshotId, null);
        }
        
        /// <remarks/>
        public void DeleteSnapshotAsync(int itemId, string snapshotId, object userState) {
            if ((this.DeleteSnapshotOperationCompleted == null)) {
                this.DeleteSnapshotOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteSnapshotOperationCompleted);
            }
            this.InvokeAsync("DeleteSnapshot", new object[] {
                        itemId,
                        snapshotId}, this.DeleteSnapshotOperationCompleted, userState);
        }
        
        private void OnDeleteSnapshotOperationCompleted(object arg) {
            if ((this.DeleteSnapshotCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteSnapshotCompleted(this, new DeleteSnapshotCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/DeleteSnapshotSubtree", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ResultObject DeleteSnapshotSubtree(int itemId, string snapshotId) {
            object[] results = this.Invoke("DeleteSnapshotSubtree", new object[] {
                        itemId,
                        snapshotId});
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteSnapshotSubtree(int itemId, string snapshotId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteSnapshotSubtree", new object[] {
                        itemId,
                        snapshotId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ResultObject EndDeleteSnapshotSubtree(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public void DeleteSnapshotSubtreeAsync(int itemId, string snapshotId) {
            this.DeleteSnapshotSubtreeAsync(itemId, snapshotId, null);
        }
        
        /// <remarks/>
        public void DeleteSnapshotSubtreeAsync(int itemId, string snapshotId, object userState) {
            if ((this.DeleteSnapshotSubtreeOperationCompleted == null)) {
                this.DeleteSnapshotSubtreeOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteSnapshotSubtreeOperationCompleted);
            }
            this.InvokeAsync("DeleteSnapshotSubtree", new object[] {
                        itemId,
                        snapshotId}, this.DeleteSnapshotSubtreeOperationCompleted, userState);
        }
        
        private void OnDeleteSnapshotSubtreeOperationCompleted(object arg) {
            if ((this.DeleteSnapshotSubtreeCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteSnapshotSubtreeCompleted(this, new DeleteSnapshotSubtreeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetSnapshotThumbnail", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
        public byte[] GetSnapshotThumbnail(int itemId, string snapshotId, ThumbnailSize size) {
            object[] results = this.Invoke("GetSnapshotThumbnail", new object[] {
                        itemId,
                        snapshotId,
                        size});
            return ((byte[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetSnapshotThumbnail(int itemId, string snapshotId, ThumbnailSize size, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetSnapshotThumbnail", new object[] {
                        itemId,
                        snapshotId,
                        size}, callback, asyncState);
        }
        
        /// <remarks/>
        public byte[] EndGetSnapshotThumbnail(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((byte[])(results[0]));
        }
        
        /// <remarks/>
        public void GetSnapshotThumbnailAsync(int itemId, string snapshotId, ThumbnailSize size) {
            this.GetSnapshotThumbnailAsync(itemId, snapshotId, size, null);
        }
        
        /// <remarks/>
        public void GetSnapshotThumbnailAsync(int itemId, string snapshotId, ThumbnailSize size, object userState) {
            if ((this.GetSnapshotThumbnailOperationCompleted == null)) {
                this.GetSnapshotThumbnailOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetSnapshotThumbnailOperationCompleted);
            }
            this.InvokeAsync("GetSnapshotThumbnail", new object[] {
                        itemId,
                        snapshotId,
                        size}, this.GetSnapshotThumbnailOperationCompleted, userState);
        }
        
        private void OnGetSnapshotThumbnailOperationCompleted(object arg) {
            if ((this.GetSnapshotThumbnailCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetSnapshotThumbnailCompleted(this, new GetSnapshotThumbnailCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetExternalNetworkAdapterDetails", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public NetworkAdapterDetails GetExternalNetworkAdapterDetails(int itemId) {
            object[] results = this.Invoke("GetExternalNetworkAdapterDetails", new object[] {
                        itemId});
            return ((NetworkAdapterDetails)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetExternalNetworkAdapterDetails(int itemId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetExternalNetworkAdapterDetails", new object[] {
                        itemId}, callback, asyncState);
        }
        
        /// <remarks/>
        public NetworkAdapterDetails EndGetExternalNetworkAdapterDetails(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((NetworkAdapterDetails)(results[0]));
        }
        
        /// <remarks/>
        public void GetExternalNetworkAdapterDetailsAsync(int itemId) {
            this.GetExternalNetworkAdapterDetailsAsync(itemId, null);
        }
        
        /// <remarks/>
        public void GetExternalNetworkAdapterDetailsAsync(int itemId, object userState) {
            if ((this.GetExternalNetworkAdapterDetailsOperationCompleted == null)) {
                this.GetExternalNetworkAdapterDetailsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetExternalNetworkAdapterDetailsOperationCompleted);
            }
            this.InvokeAsync("GetExternalNetworkAdapterDetails", new object[] {
                        itemId}, this.GetExternalNetworkAdapterDetailsOperationCompleted, userState);
        }
        
        private void OnGetExternalNetworkAdapterDetailsOperationCompleted(object arg) {
            if ((this.GetExternalNetworkAdapterDetailsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetExternalNetworkAdapterDetailsCompleted(this, new GetExternalNetworkAdapterDetailsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/AddVirtualMachineExternalIPAddress" +
            "es", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ResultObject AddVirtualMachineExternalIPAddresses(int itemId, bool selectRandom, int addressesNumber, int[] addressId) {
            object[] results = this.Invoke("AddVirtualMachineExternalIPAddresses", new object[] {
                        itemId,
                        selectRandom,
                        addressesNumber,
                        addressId});
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginAddVirtualMachineExternalIPAddresses(int itemId, bool selectRandom, int addressesNumber, int[] addressId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("AddVirtualMachineExternalIPAddresses", new object[] {
                        itemId,
                        selectRandom,
                        addressesNumber,
                        addressId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ResultObject EndAddVirtualMachineExternalIPAddresses(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public void AddVirtualMachineExternalIPAddressesAsync(int itemId, bool selectRandom, int addressesNumber, int[] addressId) {
            this.AddVirtualMachineExternalIPAddressesAsync(itemId, selectRandom, addressesNumber, addressId, null);
        }
        
        /// <remarks/>
        public void AddVirtualMachineExternalIPAddressesAsync(int itemId, bool selectRandom, int addressesNumber, int[] addressId, object userState) {
            if ((this.AddVirtualMachineExternalIPAddressesOperationCompleted == null)) {
                this.AddVirtualMachineExternalIPAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddVirtualMachineExternalIPAddressesOperationCompleted);
            }
            this.InvokeAsync("AddVirtualMachineExternalIPAddresses", new object[] {
                        itemId,
                        selectRandom,
                        addressesNumber,
                        addressId}, this.AddVirtualMachineExternalIPAddressesOperationCompleted, userState);
        }
        
        private void OnAddVirtualMachineExternalIPAddressesOperationCompleted(object arg) {
            if ((this.AddVirtualMachineExternalIPAddressesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.AddVirtualMachineExternalIPAddressesCompleted(this, new AddVirtualMachineExternalIPAddressesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/SetVirtualMachinePrimaryExternalIP" +
            "Address", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ResultObject SetVirtualMachinePrimaryExternalIPAddress(int itemId, int addressId) {
            object[] results = this.Invoke("SetVirtualMachinePrimaryExternalIPAddress", new object[] {
                        itemId,
                        addressId});
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetVirtualMachinePrimaryExternalIPAddress(int itemId, int addressId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetVirtualMachinePrimaryExternalIPAddress", new object[] {
                        itemId,
                        addressId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ResultObject EndSetVirtualMachinePrimaryExternalIPAddress(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public void SetVirtualMachinePrimaryExternalIPAddressAsync(int itemId, int addressId) {
            this.SetVirtualMachinePrimaryExternalIPAddressAsync(itemId, addressId, null);
        }
        
        /// <remarks/>
        public void SetVirtualMachinePrimaryExternalIPAddressAsync(int itemId, int addressId, object userState) {
            if ((this.SetVirtualMachinePrimaryExternalIPAddressOperationCompleted == null)) {
                this.SetVirtualMachinePrimaryExternalIPAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetVirtualMachinePrimaryExternalIPAddressOperationCompleted);
            }
            this.InvokeAsync("SetVirtualMachinePrimaryExternalIPAddress", new object[] {
                        itemId,
                        addressId}, this.SetVirtualMachinePrimaryExternalIPAddressOperationCompleted, userState);
        }
        
        private void OnSetVirtualMachinePrimaryExternalIPAddressOperationCompleted(object arg) {
            if ((this.SetVirtualMachinePrimaryExternalIPAddressCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetVirtualMachinePrimaryExternalIPAddressCompleted(this, new SetVirtualMachinePrimaryExternalIPAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/DeleteVirtualMachineExternalIPAddr" +
            "esses", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ResultObject DeleteVirtualMachineExternalIPAddresses(int itemId, int[] addressId) {
            object[] results = this.Invoke("DeleteVirtualMachineExternalIPAddresses", new object[] {
                        itemId,
                        addressId});
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteVirtualMachineExternalIPAddresses(int itemId, int[] addressId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteVirtualMachineExternalIPAddresses", new object[] {
                        itemId,
                        addressId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ResultObject EndDeleteVirtualMachineExternalIPAddresses(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public void DeleteVirtualMachineExternalIPAddressesAsync(int itemId, int[] addressId) {
            this.DeleteVirtualMachineExternalIPAddressesAsync(itemId, addressId, null);
        }
        
        /// <remarks/>
        public void DeleteVirtualMachineExternalIPAddressesAsync(int itemId, int[] addressId, object userState) {
            if ((this.DeleteVirtualMachineExternalIPAddressesOperationCompleted == null)) {
                this.DeleteVirtualMachineExternalIPAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteVirtualMachineExternalIPAddressesOperationCompleted);
            }
            this.InvokeAsync("DeleteVirtualMachineExternalIPAddresses", new object[] {
                        itemId,
                        addressId}, this.DeleteVirtualMachineExternalIPAddressesOperationCompleted, userState);
        }
        
        private void OnDeleteVirtualMachineExternalIPAddressesOperationCompleted(object arg) {
            if ((this.DeleteVirtualMachineExternalIPAddressesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteVirtualMachineExternalIPAddressesCompleted(this, new DeleteVirtualMachineExternalIPAddressesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetPrivateNetworkAdapterDetails", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public NetworkAdapterDetails GetPrivateNetworkAdapterDetails(int itemId) {
            object[] results = this.Invoke("GetPrivateNetworkAdapterDetails", new object[] {
                        itemId});
            return ((NetworkAdapterDetails)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetPrivateNetworkAdapterDetails(int itemId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetPrivateNetworkAdapterDetails", new object[] {
                        itemId}, callback, asyncState);
        }
        
        /// <remarks/>
        public NetworkAdapterDetails EndGetPrivateNetworkAdapterDetails(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((NetworkAdapterDetails)(results[0]));
        }
        
        /// <remarks/>
        public void GetPrivateNetworkAdapterDetailsAsync(int itemId) {
            this.GetPrivateNetworkAdapterDetailsAsync(itemId, null);
        }
        
        /// <remarks/>
        public void GetPrivateNetworkAdapterDetailsAsync(int itemId, object userState) {
            if ((this.GetPrivateNetworkAdapterDetailsOperationCompleted == null)) {
                this.GetPrivateNetworkAdapterDetailsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPrivateNetworkAdapterDetailsOperationCompleted);
            }
            this.InvokeAsync("GetPrivateNetworkAdapterDetails", new object[] {
                        itemId}, this.GetPrivateNetworkAdapterDetailsOperationCompleted, userState);
        }
        
        private void OnGetPrivateNetworkAdapterDetailsOperationCompleted(object arg) {
            if ((this.GetPrivateNetworkAdapterDetailsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetPrivateNetworkAdapterDetailsCompleted(this, new GetPrivateNetworkAdapterDetailsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/AddVirtualMachinePrivateIPAddresse" +
            "s", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ResultObject AddVirtualMachinePrivateIPAddresses(int itemId, bool selectRandom, int addressesNumber, string[] addresses) {
            object[] results = this.Invoke("AddVirtualMachinePrivateIPAddresses", new object[] {
                        itemId,
                        selectRandom,
                        addressesNumber,
                        addresses});
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginAddVirtualMachinePrivateIPAddresses(int itemId, bool selectRandom, int addressesNumber, string[] addresses, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("AddVirtualMachinePrivateIPAddresses", new object[] {
                        itemId,
                        selectRandom,
                        addressesNumber,
                        addresses}, callback, asyncState);
        }
        
        /// <remarks/>
        public ResultObject EndAddVirtualMachinePrivateIPAddresses(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public void AddVirtualMachinePrivateIPAddressesAsync(int itemId, bool selectRandom, int addressesNumber, string[] addresses) {
            this.AddVirtualMachinePrivateIPAddressesAsync(itemId, selectRandom, addressesNumber, addresses, null);
        }
        
        /// <remarks/>
        public void AddVirtualMachinePrivateIPAddressesAsync(int itemId, bool selectRandom, int addressesNumber, string[] addresses, object userState) {
            if ((this.AddVirtualMachinePrivateIPAddressesOperationCompleted == null)) {
                this.AddVirtualMachinePrivateIPAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddVirtualMachinePrivateIPAddressesOperationCompleted);
            }
            this.InvokeAsync("AddVirtualMachinePrivateIPAddresses", new object[] {
                        itemId,
                        selectRandom,
                        addressesNumber,
                        addresses}, this.AddVirtualMachinePrivateIPAddressesOperationCompleted, userState);
        }
        
        private void OnAddVirtualMachinePrivateIPAddressesOperationCompleted(object arg) {
            if ((this.AddVirtualMachinePrivateIPAddressesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.AddVirtualMachinePrivateIPAddressesCompleted(this, new AddVirtualMachinePrivateIPAddressesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/SetVirtualMachinePrimaryPrivateIPA" +
            "ddress", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ResultObject SetVirtualMachinePrimaryPrivateIPAddress(int itemId, int addressId) {
            object[] results = this.Invoke("SetVirtualMachinePrimaryPrivateIPAddress", new object[] {
                        itemId,
                        addressId});
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetVirtualMachinePrimaryPrivateIPAddress(int itemId, int addressId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetVirtualMachinePrimaryPrivateIPAddress", new object[] {
                        itemId,
                        addressId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ResultObject EndSetVirtualMachinePrimaryPrivateIPAddress(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public void SetVirtualMachinePrimaryPrivateIPAddressAsync(int itemId, int addressId) {
            this.SetVirtualMachinePrimaryPrivateIPAddressAsync(itemId, addressId, null);
        }
        
        /// <remarks/>
        public void SetVirtualMachinePrimaryPrivateIPAddressAsync(int itemId, int addressId, object userState) {
            if ((this.SetVirtualMachinePrimaryPrivateIPAddressOperationCompleted == null)) {
                this.SetVirtualMachinePrimaryPrivateIPAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetVirtualMachinePrimaryPrivateIPAddressOperationCompleted);
            }
            this.InvokeAsync("SetVirtualMachinePrimaryPrivateIPAddress", new object[] {
                        itemId,
                        addressId}, this.SetVirtualMachinePrimaryPrivateIPAddressOperationCompleted, userState);
        }
        
        private void OnSetVirtualMachinePrimaryPrivateIPAddressOperationCompleted(object arg) {
            if ((this.SetVirtualMachinePrimaryPrivateIPAddressCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetVirtualMachinePrimaryPrivateIPAddressCompleted(this, new SetVirtualMachinePrimaryPrivateIPAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/DeleteVirtualMachinePrivateIPAddre" +
            "sses", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ResultObject DeleteVirtualMachinePrivateIPAddresses(int itemId, int[] addressId) {
            object[] results = this.Invoke("DeleteVirtualMachinePrivateIPAddresses", new object[] {
                        itemId,
                        addressId});
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteVirtualMachinePrivateIPAddresses(int itemId, int[] addressId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteVirtualMachinePrivateIPAddresses", new object[] {
                        itemId,
                        addressId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ResultObject EndDeleteVirtualMachinePrivateIPAddresses(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public void DeleteVirtualMachinePrivateIPAddressesAsync(int itemId, int[] addressId) {
            this.DeleteVirtualMachinePrivateIPAddressesAsync(itemId, addressId, null);
        }
        
        /// <remarks/>
        public void DeleteVirtualMachinePrivateIPAddressesAsync(int itemId, int[] addressId, object userState) {
            if ((this.DeleteVirtualMachinePrivateIPAddressesOperationCompleted == null)) {
                this.DeleteVirtualMachinePrivateIPAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteVirtualMachinePrivateIPAddressesOperationCompleted);
            }
            this.InvokeAsync("DeleteVirtualMachinePrivateIPAddresses", new object[] {
                        itemId,
                        addressId}, this.DeleteVirtualMachinePrivateIPAddressesOperationCompleted, userState);
        }
        
        private void OnDeleteVirtualMachinePrivateIPAddressesOperationCompleted(object arg) {
            if ((this.DeleteVirtualMachinePrivateIPAddressesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteVirtualMachinePrivateIPAddressesCompleted(this, new DeleteVirtualMachinePrivateIPAddressesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetVirtualMachinePermissions", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public VirtualMachinePermission[] GetVirtualMachinePermissions(int itemId) {
            object[] results = this.Invoke("GetVirtualMachinePermissions", new object[] {
                        itemId});
            return ((VirtualMachinePermission[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetVirtualMachinePermissions(int itemId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetVirtualMachinePermissions", new object[] {
                        itemId}, callback, asyncState);
        }
        
        /// <remarks/>
        public VirtualMachinePermission[] EndGetVirtualMachinePermissions(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((VirtualMachinePermission[])(results[0]));
        }
        
        /// <remarks/>
        public void GetVirtualMachinePermissionsAsync(int itemId) {
            this.GetVirtualMachinePermissionsAsync(itemId, null);
        }
        
        /// <remarks/>
        public void GetVirtualMachinePermissionsAsync(int itemId, object userState) {
            if ((this.GetVirtualMachinePermissionsOperationCompleted == null)) {
                this.GetVirtualMachinePermissionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetVirtualMachinePermissionsOperationCompleted);
            }
            this.InvokeAsync("GetVirtualMachinePermissions", new object[] {
                        itemId}, this.GetVirtualMachinePermissionsOperationCompleted, userState);
        }
        
        private void OnGetVirtualMachinePermissionsOperationCompleted(object arg) {
            if ((this.GetVirtualMachinePermissionsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetVirtualMachinePermissionsCompleted(this, new GetVirtualMachinePermissionsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/UpdateVirtualMachineUserPermission" +
            "s", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int UpdateVirtualMachineUserPermissions(int itemId, VirtualMachinePermission[] permissions) {
            object[] results = this.Invoke("UpdateVirtualMachineUserPermissions", new object[] {
                        itemId,
                        permissions});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginUpdateVirtualMachineUserPermissions(int itemId, VirtualMachinePermission[] permissions, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("UpdateVirtualMachineUserPermissions", new object[] {
                        itemId,
                        permissions}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndUpdateVirtualMachineUserPermissions(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void UpdateVirtualMachineUserPermissionsAsync(int itemId, VirtualMachinePermission[] permissions) {
            this.UpdateVirtualMachineUserPermissionsAsync(itemId, permissions, null);
        }
        
        /// <remarks/>
        public void UpdateVirtualMachineUserPermissionsAsync(int itemId, VirtualMachinePermission[] permissions, object userState) {
            if ((this.UpdateVirtualMachineUserPermissionsOperationCompleted == null)) {
                this.UpdateVirtualMachineUserPermissionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateVirtualMachineUserPermissionsOperationCompleted);
            }
            this.InvokeAsync("UpdateVirtualMachineUserPermissions", new object[] {
                        itemId,
                        permissions}, this.UpdateVirtualMachineUserPermissionsOperationCompleted, userState);
        }
        
        private void OnUpdateVirtualMachineUserPermissionsOperationCompleted(object arg) {
            if ((this.UpdateVirtualMachineUserPermissionsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.UpdateVirtualMachineUserPermissionsCompleted(this, new UpdateVirtualMachineUserPermissionsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetExternalSwitches", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public VirtualSwitch[] GetExternalSwitches(int serviceId, string computerName) {
            object[] results = this.Invoke("GetExternalSwitches", new object[] {
                        serviceId,
                        computerName});
            return ((VirtualSwitch[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetExternalSwitches(int serviceId, string computerName, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetExternalSwitches", new object[] {
                        serviceId,
                        computerName}, callback, asyncState);
        }
        
        /// <remarks/>
        public VirtualSwitch[] EndGetExternalSwitches(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((VirtualSwitch[])(results[0]));
        }
        
        /// <remarks/>
        public void GetExternalSwitchesAsync(int serviceId, string computerName) {
            this.GetExternalSwitchesAsync(serviceId, computerName, null);
        }
        
        /// <remarks/>
        public void GetExternalSwitchesAsync(int serviceId, string computerName, object userState) {
            if ((this.GetExternalSwitchesOperationCompleted == null)) {
                this.GetExternalSwitchesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetExternalSwitchesOperationCompleted);
            }
            this.InvokeAsync("GetExternalSwitches", new object[] {
                        serviceId,
                        computerName}, this.GetExternalSwitchesOperationCompleted, userState);
        }
        
        private void OnGetExternalSwitchesOperationCompleted(object arg) {
            if ((this.GetExternalSwitchesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetExternalSwitchesCompleted(this, new GetExternalSwitchesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/DeleteVirtualMachine", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ResultObject DeleteVirtualMachine(int itemId, bool saveFiles, bool exportVps, string exportPath) {
            object[] results = this.Invoke("DeleteVirtualMachine", new object[] {
                        itemId,
                        saveFiles,
                        exportVps,
                        exportPath});
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteVirtualMachine(int itemId, bool saveFiles, bool exportVps, string exportPath, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteVirtualMachine", new object[] {
                        itemId,
                        saveFiles,
                        exportVps,
                        exportPath}, callback, asyncState);
        }
        
        /// <remarks/>
        public ResultObject EndDeleteVirtualMachine(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public void DeleteVirtualMachineAsync(int itemId, bool saveFiles, bool exportVps, string exportPath) {
            this.DeleteVirtualMachineAsync(itemId, saveFiles, exportVps, exportPath, null);
        }
        
        /// <remarks/>
        public void DeleteVirtualMachineAsync(int itemId, bool saveFiles, bool exportVps, string exportPath, object userState) {
            if ((this.DeleteVirtualMachineOperationCompleted == null)) {
                this.DeleteVirtualMachineOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteVirtualMachineOperationCompleted);
            }
            this.InvokeAsync("DeleteVirtualMachine", new object[] {
                        itemId,
                        saveFiles,
                        exportVps,
                        exportPath}, this.DeleteVirtualMachineOperationCompleted, userState);
        }
        
        private void OnDeleteVirtualMachineOperationCompleted(object arg) {
            if ((this.DeleteVirtualMachineCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteVirtualMachineCompleted(this, new DeleteVirtualMachineCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/ReinstallVirtualMachine", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int ReinstallVirtualMachine(int itemId, string adminPassword, bool preserveVirtualDiskFiles, bool saveVirtualDisk, bool exportVps, string exportPath) {
            object[] results = this.Invoke("ReinstallVirtualMachine", new object[] {
                        itemId,
                        adminPassword,
                        preserveVirtualDiskFiles,
                        saveVirtualDisk,
                        exportVps,
                        exportPath});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginReinstallVirtualMachine(int itemId, string adminPassword, bool preserveVirtualDiskFiles, bool saveVirtualDisk, bool exportVps, string exportPath, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("ReinstallVirtualMachine", new object[] {
                        itemId,
                        adminPassword,
                        preserveVirtualDiskFiles,
                        saveVirtualDisk,
                        exportVps,
                        exportPath}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndReinstallVirtualMachine(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void ReinstallVirtualMachineAsync(int itemId, string adminPassword, bool preserveVirtualDiskFiles, bool saveVirtualDisk, bool exportVps, string exportPath) {
            this.ReinstallVirtualMachineAsync(itemId, adminPassword, preserveVirtualDiskFiles, saveVirtualDisk, exportVps, exportPath, null);
        }
        
        /// <remarks/>
        public void ReinstallVirtualMachineAsync(int itemId, string adminPassword, bool preserveVirtualDiskFiles, bool saveVirtualDisk, bool exportVps, string exportPath, object userState) {
            if ((this.ReinstallVirtualMachineOperationCompleted == null)) {
                this.ReinstallVirtualMachineOperationCompleted = new System.Threading.SendOrPostCallback(this.OnReinstallVirtualMachineOperationCompleted);
            }
            this.InvokeAsync("ReinstallVirtualMachine", new object[] {
                        itemId,
                        adminPassword,
                        preserveVirtualDiskFiles,
                        saveVirtualDisk,
                        exportVps,
                        exportPath}, this.ReinstallVirtualMachineOperationCompleted, userState);
        }
        
        private void OnReinstallVirtualMachineOperationCompleted(object arg) {
            if ((this.ReinstallVirtualMachineCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ReinstallVirtualMachineCompleted(this, new ReinstallVirtualMachineCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetVirtualMachineSummaryText", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string GetVirtualMachineSummaryText(int itemId) {
            object[] results = this.Invoke("GetVirtualMachineSummaryText", new object[] {
                        itemId});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetVirtualMachineSummaryText(int itemId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetVirtualMachineSummaryText", new object[] {
                        itemId}, callback, asyncState);
        }
        
        /// <remarks/>
        public string EndGetVirtualMachineSummaryText(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void GetVirtualMachineSummaryTextAsync(int itemId) {
            this.GetVirtualMachineSummaryTextAsync(itemId, null);
        }
        
        /// <remarks/>
        public void GetVirtualMachineSummaryTextAsync(int itemId, object userState) {
            if ((this.GetVirtualMachineSummaryTextOperationCompleted == null)) {
                this.GetVirtualMachineSummaryTextOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetVirtualMachineSummaryTextOperationCompleted);
            }
            this.InvokeAsync("GetVirtualMachineSummaryText", new object[] {
                        itemId}, this.GetVirtualMachineSummaryTextOperationCompleted, userState);
        }
        
        private void OnGetVirtualMachineSummaryTextOperationCompleted(object arg) {
            if ((this.GetVirtualMachineSummaryTextCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetVirtualMachineSummaryTextCompleted(this, new GetVirtualMachineSummaryTextCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/SendVirtualMachineSummaryLetter", RequestNamespace="http://smbsaas/solidcp/enterpriseserver", ResponseNamespace="http://smbsaas/solidcp/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ResultObject SendVirtualMachineSummaryLetter(int itemId, string to, string bcc) {
            object[] results = this.Invoke("SendVirtualMachineSummaryLetter", new object[] {
                        itemId,
                        to,
                        bcc});
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSendVirtualMachineSummaryLetter(int itemId, string to, string bcc, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SendVirtualMachineSummaryLetter", new object[] {
                        itemId,
                        to,
                        bcc}, callback, asyncState);
        }
        
        /// <remarks/>
        public ResultObject EndSendVirtualMachineSummaryLetter(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public void SendVirtualMachineSummaryLetterAsync(int itemId, string to, string bcc) {
            this.SendVirtualMachineSummaryLetterAsync(itemId, to, bcc, null);
        }
        
        /// <remarks/>
        public void SendVirtualMachineSummaryLetterAsync(int itemId, string to, string bcc, object userState) {
            if ((this.SendVirtualMachineSummaryLetterOperationCompleted == null)) {
                this.SendVirtualMachineSummaryLetterOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSendVirtualMachineSummaryLetterOperationCompleted);
            }
            this.InvokeAsync("SendVirtualMachineSummaryLetter", new object[] {
                        itemId,
                        to,
                        bcc}, this.SendVirtualMachineSummaryLetterOperationCompleted, userState);
        }
        
        private void OnSendVirtualMachineSummaryLetterOperationCompleted(object arg) {
            if ((this.SendVirtualMachineSummaryLetterCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SendVirtualMachineSummaryLetterCompleted(this, new SendVirtualMachineSummaryLetterCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        public new void CancelAsync(object userState) {
            base.CancelAsync(userState);
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetDeviceEvents", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public MonitoredObjectEvent[] GetDeviceEvents(int ItemID)
        {
            object[] results = this.Invoke("GetDeviceEvents", new object[] {
                        ItemID});
            return ((MonitoredObjectEvent[])(results[0]));
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetMonitoringAlerts", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public MonitoredObjectAlert[] GetMonitoringAlerts(int ItemID)
        {
            object[] results = this.Invoke("GetMonitoringAlerts", new object[] {
                        ItemID});
            return ((MonitoredObjectAlert[])(results[0]));
        }

        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetPerfomanceValue", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public PerformanceDataValue[] GetPerfomanceValue(int ItemID, PerformanceType perf, DateTime startPeriod, DateTime endPeriod)
        {
            object[] results = this.Invoke("GetPerfomanceValue", new object[] {
                        ItemID, perf, startPeriod, endPeriod});
            return ((PerformanceDataValue[])(results[0]));
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetVirtualNetwork", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public VirtualNetworkInfo[] GetVirtualNetwork(int packageId)
        {
            object[] results = this.Invoke("GetVirtualNetwork", new object[] {
                        packageId});
            return ((VirtualNetworkInfo[])(results[0]));
        }
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void GetVirtualMachinesCompletedEventHandler(object sender, GetVirtualMachinesCompletedEventArgs e);
    

    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class GetVirtualMachinesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal GetVirtualMachinesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public VirtualMachineMetaItemsPaged Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((VirtualMachineMetaItemsPaged)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void GetVirtualMachinesByServiceIdCompletedEventHandler(object sender, GetVirtualMachinesByServiceIdCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class GetVirtualMachinesByServiceIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal GetVirtualMachinesByServiceIdCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public VirtualMachine[] Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((VirtualMachine[])(this.results[0]));
    //        }
    //    }
    //}
    
    ///// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void GetVirtualMachineItemCompletedEventHandler(object sender, GetVirtualMachineItemCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class GetVirtualMachineItemCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal GetVirtualMachineItemCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public VirtualMachine Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((VirtualMachine)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void EvaluateVirtualMachineTemplateCompletedEventHandler(object sender, EvaluateVirtualMachineTemplateCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class EvaluateVirtualMachineTemplateCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal EvaluateVirtualMachineTemplateCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public string Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((string)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void GetExternalNetworkDetailsCompletedEventHandler(object sender, GetExternalNetworkDetailsCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class GetExternalNetworkDetailsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal GetExternalNetworkDetailsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public NetworkAdapterDetails Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((NetworkAdapterDetails)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void GetPackagePrivateIPAddressesPagedCompletedEventHandler(object sender, GetPackagePrivateIPAddressesPagedCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class GetPackagePrivateIPAddressesPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal GetPackagePrivateIPAddressesPagedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public PrivateIPAddressesPaged Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((PrivateIPAddressesPaged)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void GetPackagePrivateIPAddressesCompletedEventHandler(object sender, GetPackagePrivateIPAddressesCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class GetPackagePrivateIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal GetPackagePrivateIPAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public PrivateIPAddress[] Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((PrivateIPAddress[])(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void GetPrivateNetworkDetailsCompletedEventHandler(object sender, GetPrivateNetworkDetailsCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class GetPrivateNetworkDetailsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal GetPrivateNetworkDetailsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public NetworkAdapterDetails Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((NetworkAdapterDetails)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void GetSpaceUserPermissionsCompletedEventHandler(object sender, GetSpaceUserPermissionsCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class GetSpaceUserPermissionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal GetSpaceUserPermissionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public VirtualMachinePermission[] Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((VirtualMachinePermission[])(this.results[0]));
    //        }
    //    }
    //}
    
    ///// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void UpdateSpaceUserPermissionsCompletedEventHandler(object sender, UpdateSpaceUserPermissionsCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class UpdateSpaceUserPermissionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal UpdateSpaceUserPermissionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public int Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((int)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void GetSpaceAuditLogCompletedEventHandler(object sender, GetSpaceAuditLogCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class GetSpaceAuditLogCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal GetSpaceAuditLogCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public LogRecord[] Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((LogRecord[])(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void GetVirtualMachineAuditLogCompletedEventHandler(object sender, GetVirtualMachineAuditLogCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class GetVirtualMachineAuditLogCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal GetVirtualMachineAuditLogCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public LogRecord[] Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((LogRecord[])(this.results[0]));
    //        }
    //    }
    //}
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetHostsCompletedEventHandler(object sender, GetHostsCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetHostsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal GetHostsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public LibraryItem[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((LibraryItem[])(this.results[0]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetVMMClustersCompletedEventHandler(object sender, GetVMMClustersCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetVMMClustersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal GetVMMClustersCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public LibraryItem[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((LibraryItem[])(this.results[0]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetOperatingSystemTemplatesPCCompletedEventHandler(object sender, GetOperatingSystemTemplatesPCCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetOperatingSystemTemplatesPCCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal GetOperatingSystemTemplatesPCCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public LibraryItem[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((LibraryItem[])(this.results[0]));
            }
        }
    }
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void GetOperatingSystemTemplatesByServiceIdCompletedEventHandler(object sender, GetOperatingSystemTemplatesByServiceIdCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class GetOperatingSystemTemplatesByServiceIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal GetOperatingSystemTemplatesByServiceIdCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public LibraryItem[] Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((LibraryItem[])(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void GetMaximumCpuCoresNumberCompletedEventHandler(object sender, GetMaximumCpuCoresNumberCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class GetMaximumCpuCoresNumberCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal GetMaximumCpuCoresNumberCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public int Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((int)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void GetDefaultExportPathCompletedEventHandler(object sender, GetDefaultExportPathCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class GetDefaultExportPathCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal GetDefaultExportPathCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public string Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((string)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void CreateDefaultVirtualMachineCompletedEventHandler(object sender, CreateDefaultVirtualMachineCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class CreateDefaultVirtualMachineCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal CreateDefaultVirtualMachineCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public IntResult Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((IntResult)(this.results[0]));
    //        }
    //    }
    //}

    ///// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void CreateVMFromVMCompletedEventHandler(object sender, CreateVMFromVMCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class CreateVMFromVMCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal CreateVMFromVMCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public ResultObject Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((ResultObject)(this.results[0]));
            }
        }
    }
    

    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void ConfigureCreatedVMNetworkAdaptersCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);

    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void ImportVirtualMachineCompletedEventHandler(object sender, ImportVirtualMachineCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class ImportVirtualMachineCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal ImportVirtualMachineCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public IntResult Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((IntResult)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void GetVirtualMachineThumbnailCompletedEventHandler(object sender, GetVirtualMachineThumbnailCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class GetVirtualMachineThumbnailCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal GetVirtualMachineThumbnailCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public byte[] Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((byte[])(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void GetVirtualMachineGeneralDetailsCompletedEventHandler(object sender, GetVirtualMachineGeneralDetailsCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class GetVirtualMachineGeneralDetailsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal GetVirtualMachineGeneralDetailsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public VirtualMachine Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((VirtualMachine)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void GetVirtualMachineExtendedInfoCompletedEventHandler(object sender, GetVirtualMachineExtendedInfoCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class GetVirtualMachineExtendedInfoCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal GetVirtualMachineExtendedInfoCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public VirtualMachine Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((VirtualMachine)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void CancelVirtualMachineJobCompletedEventHandler(object sender, CancelVirtualMachineJobCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class CancelVirtualMachineJobCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal CancelVirtualMachineJobCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public int Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((int)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void UpdateVirtualMachineHostNameCompletedEventHandler(object sender, UpdateVirtualMachineHostNameCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class UpdateVirtualMachineHostNameCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal UpdateVirtualMachineHostNameCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public ResultObject Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((ResultObject)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void ChangeVirtualMachineStateCompletedEventHandler(object sender, ChangeVirtualMachineStateCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class ChangeVirtualMachineStateCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal ChangeVirtualMachineStateCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public ResultObject Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((ResultObject)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void GetVirtualMachineJobsCompletedEventHandler(object sender, GetVirtualMachineJobsCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class GetVirtualMachineJobsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal GetVirtualMachineJobsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public ConcreteJob[] Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((ConcreteJob[])(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void ChangeAdministratorPasswordCompletedEventHandler(object sender, ChangeAdministratorPasswordCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class ChangeAdministratorPasswordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal ChangeAdministratorPasswordCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public ResultObject Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((ResultObject)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void UpdateVirtualMachineConfigurationCompletedEventHandler(object sender, UpdateVirtualMachineConfigurationCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class UpdateVirtualMachineConfigurationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal UpdateVirtualMachineConfigurationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public ResultObject Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((ResultObject)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void GetInsertedDvdDiskCompletedEventHandler(object sender, GetInsertedDvdDiskCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class GetInsertedDvdDiskCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal GetInsertedDvdDiskCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public LibraryItem Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((LibraryItem)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void GetLibraryDisksCompletedEventHandler(object sender, GetLibraryDisksCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class GetLibraryDisksCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal GetLibraryDisksCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public LibraryItem[] Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((LibraryItem[])(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void InsertDvdDiskCompletedEventHandler(object sender, InsertDvdDiskCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class InsertDvdDiskCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal InsertDvdDiskCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public ResultObject Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((ResultObject)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void EjectDvdDiskCompletedEventHandler(object sender, EjectDvdDiskCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class EjectDvdDiskCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal EjectDvdDiskCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public ResultObject Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((ResultObject)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void GetVirtualMachineSnapshotsCompletedEventHandler(object sender, GetVirtualMachineSnapshotsCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class GetVirtualMachineSnapshotsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal GetVirtualMachineSnapshotsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public VirtualMachineSnapshot[] Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((VirtualMachineSnapshot[])(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void GetSnapshotCompletedEventHandler(object sender, GetSnapshotCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class GetSnapshotCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal GetSnapshotCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public VirtualMachineSnapshot Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((VirtualMachineSnapshot)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void CreateSnapshotCompletedEventHandler(object sender, CreateSnapshotCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class CreateSnapshotCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal CreateSnapshotCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public ResultObject Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((ResultObject)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void ApplySnapshotCompletedEventHandler(object sender, ApplySnapshotCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class ApplySnapshotCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal ApplySnapshotCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public ResultObject Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((ResultObject)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void RenameSnapshotCompletedEventHandler(object sender, RenameSnapshotCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class RenameSnapshotCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal RenameSnapshotCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public ResultObject Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((ResultObject)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void DeleteSnapshotCompletedEventHandler(object sender, DeleteSnapshotCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class DeleteSnapshotCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal DeleteSnapshotCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public ResultObject Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((ResultObject)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void DeleteSnapshotSubtreeCompletedEventHandler(object sender, DeleteSnapshotSubtreeCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class DeleteSnapshotSubtreeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal DeleteSnapshotSubtreeCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public ResultObject Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((ResultObject)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void GetSnapshotThumbnailCompletedEventHandler(object sender, GetSnapshotThumbnailCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class GetSnapshotThumbnailCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal GetSnapshotThumbnailCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public byte[] Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((byte[])(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void GetExternalNetworkAdapterDetailsCompletedEventHandler(object sender, GetExternalNetworkAdapterDetailsCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class GetExternalNetworkAdapterDetailsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal GetExternalNetworkAdapterDetailsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public NetworkAdapterDetails Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((NetworkAdapterDetails)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void AddVirtualMachineExternalIPAddressesCompletedEventHandler(object sender, AddVirtualMachineExternalIPAddressesCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class AddVirtualMachineExternalIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal AddVirtualMachineExternalIPAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public ResultObject Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((ResultObject)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void SetVirtualMachinePrimaryExternalIPAddressCompletedEventHandler(object sender, SetVirtualMachinePrimaryExternalIPAddressCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class SetVirtualMachinePrimaryExternalIPAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal SetVirtualMachinePrimaryExternalIPAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public ResultObject Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((ResultObject)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void DeleteVirtualMachineExternalIPAddressesCompletedEventHandler(object sender, DeleteVirtualMachineExternalIPAddressesCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class DeleteVirtualMachineExternalIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal DeleteVirtualMachineExternalIPAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public ResultObject Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((ResultObject)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void GetPrivateNetworkAdapterDetailsCompletedEventHandler(object sender, GetPrivateNetworkAdapterDetailsCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class GetPrivateNetworkAdapterDetailsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal GetPrivateNetworkAdapterDetailsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public NetworkAdapterDetails Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((NetworkAdapterDetails)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void AddVirtualMachinePrivateIPAddressesCompletedEventHandler(object sender, AddVirtualMachinePrivateIPAddressesCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class AddVirtualMachinePrivateIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal AddVirtualMachinePrivateIPAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public ResultObject Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((ResultObject)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void SetVirtualMachinePrimaryPrivateIPAddressCompletedEventHandler(object sender, SetVirtualMachinePrimaryPrivateIPAddressCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class SetVirtualMachinePrimaryPrivateIPAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal SetVirtualMachinePrimaryPrivateIPAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public ResultObject Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((ResultObject)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void DeleteVirtualMachinePrivateIPAddressesCompletedEventHandler(object sender, DeleteVirtualMachinePrivateIPAddressesCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class DeleteVirtualMachinePrivateIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal DeleteVirtualMachinePrivateIPAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public ResultObject Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((ResultObject)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void GetVirtualMachinePermissionsCompletedEventHandler(object sender, GetVirtualMachinePermissionsCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class GetVirtualMachinePermissionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal GetVirtualMachinePermissionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public VirtualMachinePermission[] Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((VirtualMachinePermission[])(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void UpdateVirtualMachineUserPermissionsCompletedEventHandler(object sender, UpdateVirtualMachineUserPermissionsCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class UpdateVirtualMachineUserPermissionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal UpdateVirtualMachineUserPermissionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public int Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((int)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void GetExternalSwitchesCompletedEventHandler(object sender, GetExternalSwitchesCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class GetExternalSwitchesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal GetExternalSwitchesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public VirtualSwitch[] Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((VirtualSwitch[])(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void DeleteVirtualMachineCompletedEventHandler(object sender, DeleteVirtualMachineCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class DeleteVirtualMachineCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal DeleteVirtualMachineCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public ResultObject Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((ResultObject)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void ReinstallVirtualMachineCompletedEventHandler(object sender, ReinstallVirtualMachineCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class ReinstallVirtualMachineCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal ReinstallVirtualMachineCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public int Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((int)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void GetVirtualMachineSummaryTextCompletedEventHandler(object sender, GetVirtualMachineSummaryTextCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class GetVirtualMachineSummaryTextCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal GetVirtualMachineSummaryTextCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public string Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((string)(this.results[0]));
    //        }
    //    }
    //}
    
    /////// <remarks/>
    ////[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    ////public delegate void SendVirtualMachineSummaryLetterCompletedEventHandler(object sender, SendVirtualMachineSummaryLetterCompletedEventArgs e);
    
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class SendVirtualMachineSummaryLetterCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
    //    private object[] results;
        
    //    internal SendVirtualMachineSummaryLetterCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
    //            base(exception, cancelled, userState) {
    //        this.results = results;
    //    }
        
    //    /// <remarks/>
    //    public ResultObject Result {
    //        get {
    //            this.RaiseExceptionIfNecessary();
    //            return ((ResultObject)(this.results[0]));
    //        }
    //    }
    //}

    ////Huper-V Cloud
    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //public delegate void CheckServerStateCompletedEventHandler(object sender, CheckServerStateCompletedEventArgs e);

    ///// <remarks/>
    //[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    //[System.Diagnostics.DebuggerStepThroughAttribute()]
    //[System.ComponentModel.DesignerCategoryAttribute("code")]
    //public partial class CheckServerStateCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    //{

    //    private object[] results;

    //    internal CheckServerStateCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
    //        base(exception, cancelled, userState)
    //    {
    //        this.results = results;
    //    }

    //    /// <remarks/>
    //    public bool Result
    //    {
    //        get
    //        {
    //            this.RaiseExceptionIfNecessary();
    //            return ((bool)(this.results[0]));
    //        }
    //    }
    //}

}
